[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 5/5] x86/p2m: split write_p2m_entry() hook
On 12.11.2020 18:52, Tim Deegan wrote: > At 15:04 +0100 on 12 Nov (1605193496), Jan Beulich wrote: >> On 12.11.2020 14:07, Roger Pau Monné wrote: >>> On Thu, Nov 12, 2020 at 01:29:33PM +0100, Jan Beulich wrote: >>>> I agree with all this. If only it was merely about TLB flushes. In >>>> the shadow case, shadow_blow_all_tables() gets invoked, and that >>>> one - looking at the other call sites - wants the paging lock held. > [...] >>> The post hook for shadow could pick the lock again, as I don't think >>> the removal of the tables needs to be strictly done inside of the same >>> locked region? >> >> I think it does, or else a use of the now stale tables may occur >> before they got blown away. Tim? > > Is this the call to shadow_blow_tables() in the write_p2m_entry path? Yes. > I think it would be safe to drop and re-take the paging lock there as > long as the call happens before the write is considered to have > finished. > > But it would not be a useful performance improvement - any update that > takes this path is going to be very slow regardless. So unless you > have another pressing reason to split it up, I would be inclined to > leave it as it is. That way it's easier to see that the locking is > correct. Thanks for the clarification. Roger - what's your view at this point? Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |