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

Re: [Xen-devel] [PATCH v3 5/9] mm: Do not discard already-scrubbed pages if softirqs are pending

On 05/04/2017 11:43 AM, Jan Beulich wrote:
>>>> On 14.04.17 at 17:37, <boris.ostrovsky@xxxxxxxxxx> wrote:
>> While scrubbing from idle loop, check for softirqs every 256 pages.
>> If softirq is pending, don't scrub any further and merge the
>> partially-scrubbed buddy back into heap by breaking the clean portion
>> into smaller power-of-2 chunks. Then repeat the same process for the
>> dirty part.
> This is ugly, as it gets us back into the state where full merge
> opportunities aren't being realized, just that the time window
> may be smaller now. As hinted at before, is there no way to
> flag the first page needing scrubbing alongside the head
> indicating that _some_ page needs scrubbing? The pages are
> all free, so if there's no other suitable storage, the head page
> itself could serve as such. But instead of a flag in struct
> page_info, perhaps you could store a (relatively small) integer?

How will it help? Even if we know what the fist dirty page is we still
may have to drop scrubbing if irq is pending. We simply will not have to
scan the buddy until first dirty page is found.

Or perhaps I don't understand what you are suggesting.


Xen-devel mailing list



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