|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v6 4/4] x86/ioreq server: Reset outstanding p2m_ioreq_server entries when an ioreq server unmaps.
On 9/9/2016 1:26 PM, Yu Zhang wrote: >>> On 02.09.16 at 12:47, <yu.c.zhang@xxxxxxxxxxxxxxx> wrote: > @@ -5551,7 +5553,35 @@ static int hvmop_map_mem_type_to_ioreq_server( > if ( rc != 0 ) > goto out; >> - rc = hvm_map_mem_type_to_ioreq_server(d, op.id, op.type, op.flags);> + if ( gfn == 0 )> + rc = hvm_map_mem_type_to_ioreq_server(d, op.id, op.type, op.flags);> + > + /*> + * Iterate p2m table when an ioreq server unmaps from p2m_ioreq_server, > + * and reset the remaining p2m_ioreq_server entries back to p2m_ram_rw. Oh, right. Thanks for pointing out. :) Also when you don't really need to use "goto", please try to avoid it - here you could easily use just "break" instead. OK. > --- a/xen/arch/x86/mm/p2m-ept.c > +++ b/xen/arch/x86/mm/p2m-ept.c> @@ -545,6 +545,9 @@ static int resolve_misconfig(struct p2m_domain *p2m, Yes. You have good memory. : )George's suggestion is to put inside atomic_write_ept_entry(), which is a quite core routine, and is only for ept. And my suggestion is to put inside the p2m_type_change_one() and routine resolve_misconfig()/do_recalc() as well, so that we can support both Intel EPT and AMD NPT - like the p2m_change_entry_type_global().I had given a more detailed explanation in a reply on Aug 30 in the v5 thread. :) And then I'd really like you to add assertions making sure this count doesn't underflow. OK.
Well, I agree p2m_ioreq_server do have different behaviors than the p2m_log_dirty, but removing p2m_ioreq_server from changeable type would need more specific code for the p2m_ioreq_server in routines like resolve_misconfig(), do_recalc() and p2m_change_entry_type_global() etc. I've tried this approach and abandoned later. :) Got it. Thanks Well, like p2m_change_entry_type_global() , p2m_change_type_range() also does the change asynchronously. And here this routine is introduced to synchronously reset the p2m type. Jan Thanks Yu _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |