So for filesystemįolios, we'd call slab to allocate a struct folio and then tell theīuddy allocator "here is the memdesc of type folio, allocate Its memory descriptor (which I like to call memdesc). The end-goal is to split apart allocating the memory from allocating Memory allocated to slab cannot be split, so initialising the Ignoring the naming here, memory allocated to filesystems can be split,īut the split can fail, so they need the page-deferred-list and theĭTOR. Transition fully agreed to or understood, so we should come up with Take years and I don't think we necessarily have the final form of the We're in the middle of a transition, but the transition is likely to To me until I saw this patch, and I don't have a good solution yet. > May I ask what made us decide to do this? > which returns a folio struct instead of a page. I thought folio_alloc() is just a variant of alloc_page(), > You mean folio_alloc() is dedicated for THP allocation? It is a little 0:55 ` Matthew Wilcox 0 siblings, 1 reply 7+ messages in threadįrom: Matthew Wilcox 3:31 UTC ( / raw) 2:58 ` Muchun Song 3:31 ` Matthew Wilcox May I ask what made us decide to do this? Which returns a folio struct instead of a page. You mean folio_alloc() is dedicated for THP allocation? It is a little > prep_transhuge_page() step which isn't needed for slab. On Sat, at 05:27:11PM +0100, Matthew Wilcox wrote: Joonsoo Kim, Andrew Morton, Vlastimil Babka, Roman Gushchin, 3:31 ` Matthew Wilcox 0 siblings, 1 reply 7+ messages in threadĬc: bh1scw, Christoph Lameter, Pekka Enberg, David Rientjes, 16:27 ` Matthew Wilcox 2:58 ` Muchun Song > + folio = (struct folio *)_folio_alloc_node(node, flags, order) > - folio = (struct folio *)_alloc_pages_node(node, flags, order) > + folio = (struct folio *)folio_alloc(flags, order) > - folio = (struct folio *)alloc_pages(flags, order) > -1794,9 +1794,9 static inline struct slab *alloc_slab_page(gfp_t flags, int node, > 1 file changed, 2 insertions(+), 2 deletions(-) Prep_transhuge_page() step which isn't needed for slab. > This patch will use folio allocation functions for allocating pages. 4:10 ` kernel test robot 1 sibling, 1 reply 7+ messages in threadįrom: Matthew Wilcox 16:27 UTC ( / raw)Ĭc: Christoph Lameter, Pekka Enberg, David Rientjes, Joonsoo Kim,Īndrew Morton, Vlastimil Babka, Roman Gushchin, linux-mm, 16:11 mm/slub: replace alloc_pages with folio_alloc 16:27 ` Matthew Wilcox * Re: mm/slub: replace alloc_pages with folio_alloc ^ raw reply related 7+ messages in thread + folio = (struct folio *)_folio_alloc_node(node, flags, order) folio = (struct folio *)_alloc_pages_node(node, flags, order) + folio = (struct folio *)folio_alloc(flags, order) folio = (struct folio *)alloc_pages(flags, order) +++ -1794,9 +1794,9 static inline struct slab *alloc_slab_page(gfp_t flags, int node, This patch will use folio allocation functions for allocating pages.ġ file changed, 2 insertions(+), 2 deletions(-) To: Christoph Lameter, Pekka Enberg, David Rientjes, Joonsoo Kim,Ĭc: Roman Gushchin, linux-mm, linux-kernel, Muchun Song, Fanjun Kong 4:10 ` kernel test robot 0 siblings, 2 replies 7+ messages in thread Mm/slub: replace alloc_pages with folio_alloc All of help / color / mirror / Atom feed * mm/slub: replace alloc_pages with folio_alloc 16:11 bh1scw
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |