Re: [PATCH 13/17] fs/select: replace __get_free_page() with kmalloc()
Jan Kara <[email protected]> Mon, 25 May 2026 18:19:44 +0200
| Newsgroups | org.kernel.vger.linux-nilfs,dev.linux.lists.ocfs2-devel,org.kernel.vger.linux-ext4,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-nfs,org.kvack.linux-mm |
|---|---|
| Message-ID | <flztdmhjmz5zp4podujx7ekdxa7qbx4pp2iz37ji2tltyyhzn3@jsikvofbhtbu> |
On Sat 23-05-26 20:54:25, Mike Rapoport (Microsoft) wrote: > poll_get_entry() allocates new memory for poll_table entries using > __get_free_page(). > > kmalloc() is a better API for such use and it also provides better > scalability and more debugging possibilities. > > Replace use of __get_free_page() with kmalloc(). > > Signed-off-by: Mike Rapoport (Microsoft) <[email protected]> Looks good. Feel free to add: Reviewed-by: Jan Kara <[email protected]> Honza > --- > fs/select.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/select.c b/fs/select.c > index 75978b18f48f..6fa63e48cdee 100644 > --- a/fs/select.c > +++ b/fs/select.c > @@ -150,7 +150,7 @@ void poll_freewait(struct poll_wqueues *pwq) > } while (entry > p->entries); > old = p; > p = p->next; > - free_page((unsigned long) old); > + kfree(old); > } > } > EXPORT_SYMBOL(poll_freewait); > @@ -165,7 +165,7 @@ static struct poll_table_entry *poll_get_entry(struct poll_wqueues *p) > if (!table || POLL_TABLE_FULL(table)) { > struct poll_table_page *new_table; > > - new_table = (struct poll_table_page *) __get_free_page(GFP_KERNEL); > + new_table = kmalloc(PAGE_SIZE, GFP_KERNEL); > if (!new_table) { > p->error = -ENOMEM; > return NULL; > > -- > 2.53.0 > -- Jan Kara <[email protected]> SUSE Labs, CR