[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <B8008048-5D99-4B78-B63F-862207F78D73@infradead.org>
Date: Tue, 13 Aug 2024 07:39:51 +0100
From: David Woodhouse <dwmw2@...radead.org>
To: Sean Christopherson <seanjc@...gle.com>
CC: Thomas Gleixner <tglx@...utronix.de>, Michael Kelley <mhklinux@...look.com>,
"lirongqing@...du.com" <lirongqing@...du.com>,
"kys@...rosoft.com" <kys@...rosoft.com>,
"haiyangz@...rosoft.com" <haiyangz@...rosoft.com>,
"wei.liu@...nel.org" <wei.liu@...nel.org>,
"decui@...rosoft.com" <decui@...rosoft.com>,
"mingo@...hat.com" <mingo@...hat.com>, "bp@...en8.de" <bp@...en8.de>,
"dave.hansen@...ux.intel.com" <dave.hansen@...ux.intel.com>,
"x86@...nel.org" <x86@...nel.org>,
"linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] clockevents/drivers/i8253: Do not zero timer counter in shutdown
On 13 August 2024 00:59:40 BST, Sean Christopherson <seanjc@...gle.com> wrote:
>On Fri, Aug 02, 2024, David Woodhouse wrote:
>> On Fri, 2024-08-02 at 07:55 -0700, Sean Christopherson wrote:
>> > On Fri, Aug 02, 2024, David Woodhouse wrote:
>> > > On Thu, 2024-08-01 at 20:54 +0200, Thomas Gleixner wrote:
>> > > > On Thu, Aug 01 2024 at 16:14, Michael Kelley wrote:
>> > > > > I don't have a convenient way to test my sequence on KVM.
>> > > >
>> > > > But still fails in KVM
>> > >
>> > > By KVM you mean the in-kernel one that we want to kill because everyone
>> > > should be using userspace IRQ chips these days?
>> >
>> > What exactly do you want to kill? In-kernel local APIC obviously needs to stay
>> > for APICv/AVIC.
>>
>> The legacy PIT, PIC and I/O APIC.
>>
>> > And IMO, encouraging userspace I/O APIC emulation is a net negative for KVM and
>> > the community as a whole, as the number of VMMs in use these days results in a
>> > decent amount of duplicated work in userspace VMMs, especially when accounting
>> > for hardware and software quirks.
>>
>> I don't particularly care, but I thought the general trend was towards
>> split irqchip mode, with the local APIC in-kernel but i8259 PIC and I/O
>> APIC (and the i8254 PIT, which was the topic of this discussion) being
>> done in userspace.
>
>Yeah, that's where most everyone is headed, if not already there. Letting the
>I/O APIC live in userspace is probably the right direction long term, I just don't
>love that every VMM seems to have it's own slightly different version. But I think
>the answer to that is to build a library for (legacy?) device emulation so that
>VMMs can link to an implementation instead of copy+pasting from somwhere else and
>inevitably ending up with code that's frozen in time.
Some would say the right answer is to present a micro-vm machine model that doesn't have any of that crap at all.
Sadly we're going in the wrong direction. For >255 vCPUs on AMD machines it looks like we even have to emulate a full virtual IOMMU with DMA translation support. Well done, AMD!
(Linux is OK with the 15-bit Extended Destination ID, but not Windows)
Powered by blists - more mailing lists