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

Re: [Xen-devel] [PATCH] mm: Scrub pages returned back to heap if MEMF_no_scrub is set

On 09/15/2017 12:05 PM, Jan Beulich wrote:
>>>> On 15.09.17 at 16:04, <boris.ostrovsky@xxxxxxxxxx> wrote:
>> Set free_heap_pages()'s need_scrub to true if alloc_domheap_pages()
>> returns pages back to heap as result of assign_pages() error when those
>> pages were requested with MEMF_no_scrub flag.
>> We need to do this because there is a possibility that
>> alloc_heap_pages() might clear buddy's PGC_need_scrubs flag without
>> actually clearing the page.
>> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
>> ---
>> We are declaring a likely clean (or almost clean) chunk to be dirty. Since
>> this only happend on assign_pages() error I figured it would be acceptable.
> I think that's fine, but let's wait a little to see whether others
> have differing opinions.
>> --- a/xen/common/page_alloc.c
>> +++ b/xen/common/page_alloc.c
>> @@ -2227,7 +2227,7 @@ struct page_info *alloc_domheap_pages(
>>      if ( d && !(memflags & MEMF_no_owner) &&
>>           assign_pages(d, pg, order, memflags) )
>>      {
>> -        free_heap_pages(pg, order, false);
>> +        free_heap_pages(pg, order, !!(memflags & MEMF_no_scrub));
> No need for the !! (easily fixed while committing). 


> With that
> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
> I take it this isn't related to the issue on ARM64 that Konrad has
> found?

It's related in the sense that I noticed this while looking at Konrad's
problem. Whether or not it also fixes his issue --- I don't know. If it
does then I think it will indicate that something else is going on there
since this would mean he is hitting assign_pages() error.


Xen-devel mailing list



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