At 00:45 +0000 on 23 Dec (1293065108), Jui-Hao Chiang wrote:
> Without the lock, set_shared_p2m_entry() will BUG when xen is compiled with
> debug=y
Thanks. I'll have to make a slightly more complex fix, as
set_shared_p2m_entry() can be called (via p2m_teardown() and
mem_sharing_unshare_page()) with the p2m lock already held. :(
That's a sign of a deeper illness which will probably lead to deadlocks
elsewhere. I intend to give the MM locking (p2m, shadow, hap, log-dirty
and page-sharing locks) a good kicking some time soon, maybe after 4.1
is released.
Cheers,
Tim.
> Singed-off-by: Jui-Hao Chiang <juihaochiang <at> gmail.com<http://gmail.com>>
>
> --- a/xen/arch/x86/mm/p2m.c Tue Dec 21 18:10:46 2010 +0000
> +++ b/xen/arch/x86/mm/p2m.c Thu Dec 23 16:40:41 2010 +0800
> @@ -2665,7 +2665,9 @@ set_shared_p2m_entry(struct p2m_domain *
> set_gpfn_from_mfn(mfn_x(omfn), INVALID_M2P_ENTRY);
>
> P2M_DEBUG("set shared %lx %lx\n", gfn, mfn_x(mfn));
> + p2m_lock(p2m);
> rc = set_p2m_entry(p2m, gfn, mfn, 0, p2m_ram_shared);
> + p2m_unlock(p2m);
> if ( 0 == rc )
> gdprintk(XENLOG_ERR,
> "set_mmio_p2m_entry: set_p2m_entry failed! mfn=%08lx\n"
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
--
Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, Xen Platform Team
Citrix Systems UK Ltd. (Company #02937203, SL9 0BG)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|