|
[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 Fri, Sep 15, 2017 at 12:47:29PM -0400, Boris Ostrovsky wrote:
> 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).
>
> Sure.
>
> > 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.
Sadly no. Let me update the other email.
>
>
> -boris
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |