[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5 08/10] xen/arm: Add relinquish_p2m_mapping to remove reference on every mapped page



On Tue, 2013-12-17 at 14:45 +0000, Julien Grall wrote:
> On 12/17/2013 02:42 PM, Ian Campbell wrote:
> > On Tue, 2013-12-17 at 14:40 +0000, Julien Grall wrote:
> >> On 12/17/2013 09:26 AM, Ian Campbell wrote:
> >>> On Mon, 2013-12-16 at 17:37 +0000, Julien Grall wrote:
> >>>> +        if ( op == RELINQUISH && count == LPAE_ENTRIES &&
> >>>> +             hypercall_preempt_check() )
> >>>> +        {
> >>>
> >>> If hypercall_preempt_check returns false the first time it is called
> >>> then you won't ever try again. I think you want
> >>>   (count+1 % LPAE_ENTRIES) == 0
> >>> (the +1 avoids preempting without having done any work yet)
> >>
> >> I don't think we need +1 because count is increment each round just
> >> before the check.
> > 
> > Ah yes, if the increment has already happened then good.
> > 
> >> Is a solution as Jan made for x86 would be more appropriate?
> > 
> > It's about equivalent I think? I'd hope the compiler would take a mod
> > 2^N and turn it into a mask, but I suppose you never know...
> 
> I was talking about adding a greater increment when it's a foreign mapping.

Like I said in the other subthread:

        BTW, Jan's approach in his x86 fix was to preempt every 2MB of present
        or 32MB of non-present mappings, which makes sense because you skip
        through the non-present ones more quickly. It'd be nice but lets not
        hold up the series if it isn't trivial to achieve.
        
Ian


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.