Messages in this thread | | | Date | Fri, 6 May 2022 03:54:58 +0300 | From | "Kirill A. Shutemov" <> | Subject | Re: [PATCHv5 02/12] mm: Add support for unaccepted memory |
| |
On Tue, May 03, 2022 at 10:21:03PM +0200, David Hildenbrand wrote: > > > > > +/* > > + * Page acceptance can be very slow. Do not call under critical locks. > > + */ > > +static void accept_page(struct page *page, unsigned int order) > > +{ > > + phys_addr_t start = page_to_phys(page); > > + int i; > > + > > + accept_memory(start, start + (PAGE_SIZE << order)); > > + > > + for (i = 0; i < (1 << order); i++) { > > + if (PageUnaccepted(page + i)) > > + __ClearPageUnaccepted(page + i); > > + } > > +} > > What was the rationale of leaving PageUnaccepted() set on sub-pages when > merging pages? > > I'd just clear the flag when merging and avoid the loop here. You could > even assert here that we don't have any PageUnaccepted() on tail pages.
Okay, fair enough. I will change the code.
-- Kirill A. Shutemov
| |