From: Mark Rutland <mark.rutland@arm.com> To: Michael Kelley <mikelley@microsoft.com> Cc: "will@kernel.org" <will@kernel.org>, "catalin.marinas@arm.com" <catalin.marinas@arm.com>, "lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>, "sudeep.holla@arm.com" <sudeep.holla@arm.com>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>, "linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>, "arnd@arndb.de" <arnd@arndb.de>, "wei.liu@kernel.org" <wei.liu@kernel.org>, "ardb@kernel.org" <ardb@kernel.org>, "daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org>, KY Srinivasan <kys@microsoft.com> Subject: Re: [PATCH v10 3/7] arm64: hyperv: Add Hyper-V clocksource/clockevent support Date: Thu, 10 Jun 2021 17:45:19 +0100 [thread overview] Message-ID: <20210610164519.GB63335@C02TD0UTHF1T.local> (raw) In-Reply-To: <MWHPR21MB1593800A20B55626ACE6A844D7379@MWHPR21MB1593.namprd21.prod.outlook.com> Hi Michael, [trimming the bulk of the thrread] On Tue, Jun 08, 2021 at 03:36:06PM +0000, Michael Kelley wrote: > I've had a couple rounds of discussions with the Hyper-V team. For > the clocksource we've agreed to table the live migration discussion, and > I'll resubmit the code so that arm_arch_timer.c provides the > standard arch_sys_counter clocksource. As noted previously, this just > works for a Hyper-V guest. The live migration discussion may come > back later after a deeper investigation by Hyper-V. Great; thanks for this! > For clockevents, there's not a near term fix. It's more than just plumbing > an interrupt for Hyper-V to virtualize the ARM64 arch timer in a guest VM. > From their perspective there's also benefit in having a timer abstraction > that's independent of the architecture, and in the Linux guest, the STIMER > code is common across x86/x64 and ARM64. It follows the standard Linux > clockevents model, as it should. The code is already in use in out-of-tree > builds in the Linux VMs included in Windows 10 on ARM64 as part of the > so-called "Windows Subsystem for Linux". > > So I'm hoping we can get this core support for ARM64 guests on Hyper-V > into upstream using the existing STIMER support. At some point, Hyper-V > will do the virtualization of the ARM64 arch timer, but we don't want to > have to stay out-of-tree until after that happens. My main concern here is making sure that we can rely on architected properties, and don't have to special-case architected bits for hyperv (or any other hypervisor), since that inevitably causes longer-term pain. While in abstract I'm not as worried about using the timer clock_event_device specifically, that same driver provides the clocksource and the event stream, and I want those to work as usual, without being tied into the hyperv code. IIUC that will require some work, since the driver won't register if the GTDT is missing timer interrupts (or if there is no GTDT). I think it really depends on what that looks like. Thanks, Mark.
WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com> To: Michael Kelley <mikelley@microsoft.com> Cc: "will@kernel.org" <will@kernel.org>, "catalin.marinas@arm.com" <catalin.marinas@arm.com>, "lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>, "sudeep.holla@arm.com" <sudeep.holla@arm.com>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>, "linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>, "arnd@arndb.de" <arnd@arndb.de>, "wei.liu@kernel.org" <wei.liu@kernel.org>, "ardb@kernel.org" <ardb@kernel.org>, "daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org>, KY Srinivasan <kys@microsoft.com> Subject: Re: [PATCH v10 3/7] arm64: hyperv: Add Hyper-V clocksource/clockevent support Date: Thu, 10 Jun 2021 17:45:19 +0100 [thread overview] Message-ID: <20210610164519.GB63335@C02TD0UTHF1T.local> (raw) In-Reply-To: <MWHPR21MB1593800A20B55626ACE6A844D7379@MWHPR21MB1593.namprd21.prod.outlook.com> Hi Michael, [trimming the bulk of the thrread] On Tue, Jun 08, 2021 at 03:36:06PM +0000, Michael Kelley wrote: > I've had a couple rounds of discussions with the Hyper-V team. For > the clocksource we've agreed to table the live migration discussion, and > I'll resubmit the code so that arm_arch_timer.c provides the > standard arch_sys_counter clocksource. As noted previously, this just > works for a Hyper-V guest. The live migration discussion may come > back later after a deeper investigation by Hyper-V. Great; thanks for this! > For clockevents, there's not a near term fix. It's more than just plumbing > an interrupt for Hyper-V to virtualize the ARM64 arch timer in a guest VM. > From their perspective there's also benefit in having a timer abstraction > that's independent of the architecture, and in the Linux guest, the STIMER > code is common across x86/x64 and ARM64. It follows the standard Linux > clockevents model, as it should. The code is already in use in out-of-tree > builds in the Linux VMs included in Windows 10 on ARM64 as part of the > so-called "Windows Subsystem for Linux". > > So I'm hoping we can get this core support for ARM64 guests on Hyper-V > into upstream using the existing STIMER support. At some point, Hyper-V > will do the virtualization of the ARM64 arch timer, but we don't want to > have to stay out-of-tree until after that happens. My main concern here is making sure that we can rely on architected properties, and don't have to special-case architected bits for hyperv (or any other hypervisor), since that inevitably causes longer-term pain. While in abstract I'm not as worried about using the timer clock_event_device specifically, that same driver provides the clocksource and the event stream, and I want those to work as usual, without being tied into the hyperv code. IIUC that will require some work, since the driver won't register if the GTDT is missing timer interrupts (or if there is no GTDT). I think it really depends on what that looks like. Thanks, Mark. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-06-10 16:45 UTC|newest] Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-05-12 17:37 [PATCH v10 0/7] Enable Linux guests on Hyper-V on ARM64 Michael Kelley 2021-05-12 17:37 ` Michael Kelley 2021-05-12 17:37 ` [PATCH v10 1/7] asm-generic: hyperv: Fix incorrect architecture dependencies Michael Kelley 2021-05-12 17:37 ` Michael Kelley 2021-05-12 17:37 ` [PATCH v10 2/7] arm64: hyperv: Add Hyper-V hypercall and register access utilities Michael Kelley 2021-05-12 17:37 ` Michael Kelley 2021-05-14 12:52 ` Mark Rutland 2021-05-14 12:52 ` Mark Rutland 2021-05-14 15:14 ` Michael Kelley 2021-05-14 15:14 ` Michael Kelley 2021-05-17 11:44 ` Mark Rutland 2021-05-17 11:44 ` Mark Rutland 2021-05-17 16:41 ` Michael Kelley 2021-05-17 16:41 ` Michael Kelley 2021-05-12 17:37 ` [PATCH v10 3/7] arm64: hyperv: Add Hyper-V clocksource/clockevent support Michael Kelley 2021-05-12 17:37 ` Michael Kelley 2021-05-14 12:37 ` Mark Rutland 2021-05-14 12:37 ` Mark Rutland 2021-05-14 15:35 ` Michael Kelley 2021-05-14 15:35 ` Michael Kelley 2021-05-17 13:08 ` Mark Rutland 2021-05-17 13:08 ` Mark Rutland 2021-05-17 17:27 ` Michael Kelley 2021-05-17 17:27 ` Michael Kelley 2021-05-18 17:00 ` Mark Rutland 2021-05-18 17:00 ` Mark Rutland 2021-06-08 15:36 ` Michael Kelley 2021-06-08 15:36 ` Michael Kelley 2021-06-10 16:45 ` Mark Rutland [this message] 2021-06-10 16:45 ` Mark Rutland 2021-06-14 2:42 ` Michael Kelley 2021-06-14 2:42 ` Michael Kelley 2021-06-16 20:17 ` Michael Kelley 2021-06-16 20:17 ` Michael Kelley 2021-06-22 9:54 ` Mark Rutland 2021-06-22 9:54 ` Mark Rutland 2021-06-23 8:56 ` Marc Zyngier 2021-06-23 8:56 ` Marc Zyngier 2021-06-28 2:21 ` Michael Kelley 2021-06-28 2:21 ` Michael Kelley 2021-05-12 17:37 ` [PATCH v10 4/7] arm64: hyperv: Add kexec and panic handlers Michael Kelley 2021-05-12 17:37 ` Michael Kelley 2021-05-12 17:37 ` [PATCH v10 5/7] arm64: hyperv: Initialize hypervisor on boot Michael Kelley 2021-05-12 17:37 ` Michael Kelley 2021-05-13 15:16 ` Wei Liu 2021-05-13 15:16 ` Wei Liu 2021-05-12 17:37 ` [PATCH v10 6/7] arm64: efi: Export screen_info Michael Kelley 2021-05-12 17:37 ` Michael Kelley 2021-05-12 17:37 ` [PATCH v10 7/7] Drivers: hv: Enable Hyper-V code to be built on ARM64 Michael Kelley 2021-05-12 17:37 ` Michael Kelley 2021-05-13 13:17 ` [PATCH v10 0/7] Enable Linux guests on Hyper-V " Sudeep Holla 2021-05-13 13:17 ` Sudeep Holla
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210610164519.GB63335@C02TD0UTHF1T.local \ --to=mark.rutland@arm.com \ --cc=ardb@kernel.org \ --cc=arnd@arndb.de \ --cc=catalin.marinas@arm.com \ --cc=daniel.lezcano@linaro.org \ --cc=kys@microsoft.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-efi@vger.kernel.org \ --cc=linux-hyperv@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=lorenzo.pieralisi@arm.com \ --cc=mikelley@microsoft.com \ --cc=sudeep.holla@arm.com \ --cc=wei.liu@kernel.org \ --cc=will@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.