[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 9/9] x86emul+VMX: support {RD,WR}MSRLIST
On 07.04.2023 00:03, Andrew Cooper wrote: > On 04/04/2023 3:55 pm, Jan Beulich wrote: >> --- >> TODO: Use VMX tertiary execution control (once bit is known; see >> //todo-s) and then further adjust cpufeatureset.h. >> >> RFC: In vmx_vmexit_handler() handling is forwarded to the emulator >> blindly. Alternatively we could consult the exit qualification and >> process just a single MSR at a time (without involving the >> emulator), exiting back to the guest after every iteration. (I >> don't think a mix of both models makes a lot of sense.) > > {RD,WR}MSRLIST are supposed to be used for context switch paths. They > really shouldn't be exiting in the common case. > > What matters here is the conditional probability of a second MSR being > intercepted too, given that one already has been. And I don't have a > clue how to answer this. > > I would not expect Introspection to be intercepting a fastpath MSR. > (And if it does, frankly it can live with the consequences.) > > For future scenarios such as reloading PMU/LBR/whatever, these will be > all-or-nothing and we'd expect to have them eagerly in context anyway. > > If I were going to guess, I'd say that probably MSR_XSS or MSR_SPEC_CTRL > will be giving us the most grief here, because they're both ones that > are liable to be touched on a context switch path, and have split > host/guest bits. I'm not really certain, but I'm tending to interpret your reply as agreement with the choice made (and hence not as a request to change anything in this regard); clarification appreciated. >> RFC: For PV priv_op_ops would need to gain proper read/write hooks, >> which doesn't look desirable (albeit there we could refuse to >> handle anything else than x86_seg_none); we may want to consider to >> instead not support the feature for PV guests, requiring e.g. Linux >> to process the lists in new pvops hooks. > > Ah - funny you should ask. See patch 2. These are even better reasons > not to support on PV guests. Yeah, with PV dropped there it's quite obvious to not consider it here either. I'll drop the remark. >> RFC: I wasn't sure whether to add preemption checks to the loops - >> thoughts? > > I'd be tempted to. Mostly because a guest can exert 64* longest MSR > worth of pressure here, along with associated emulation overhead. > > 64* "write hypercall page" sounds expensive. So too does 64* MSR_PAT, > given all the EPT actions behind the scenes. > > Its probably one of those Which leaves me inclined to add preemption checking to writes, but keep reads as they are. Thoughts? Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |