Message ID | 20230815032645.1393700-2-willy@infradead.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Remove _folio_dtor and _folio_order | expand |
On 15.08.23 05:26, Matthew Wilcox (Oracle) wrote: > folio_put() is the standard way to write this, and it's not > appreciably slower. This is an enabling patch for removing > free_compound_page() entirely. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> > --- Reviewed-by: David Hildenbrand <david@redhat.com>
On 8/14/23 9:26 PM, Matthew Wilcox (Oracle) wrote: > folio_put() is the standard way to write this, and it's not > appreciably slower. This is an enabling patch for removing > free_compound_page() entirely. Looks fine to me, nice cleanup too. Please use 72-74 char line breaks though in the commit message, this looks like ~60? With that fixed: Reviewed-by: Jens Axboe <axboe@kernel.dk>
On Tue, Aug 15, 2023 at 09:00:24AM -0600, Jens Axboe wrote: > On 8/14/23 9:26 PM, Matthew Wilcox (Oracle) wrote: > > folio_put() is the standard way to write this, and it's not > > appreciably slower. This is an enabling patch for removing > > free_compound_page() entirely. > > Looks fine to me, nice cleanup too. Please use 72-74 char line breaks > though in the commit message, this looks like ~60? With that fixed: Eh, I just pipe it throught fmt, and that's what it did. Probably it has rules about widows/orphans? > Reviewed-by: Jens Axboe <axboe@kernel.dk> > > -- > Jens Axboe >
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index dcf5fc7d2820..a5b9b5de7aff 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -2664,14 +2664,10 @@ static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events, static void io_mem_free(void *ptr) { - struct page *page; - if (!ptr) return; - page = virt_to_head_page(ptr); - if (put_page_testzero(page)) - free_compound_page(page); + folio_put(virt_to_folio(ptr)); } static void io_pages_free(struct page ***pages, int npages) diff --git a/io_uring/kbuf.c b/io_uring/kbuf.c index 2f0181521c98..556f4df25b0f 100644 --- a/io_uring/kbuf.c +++ b/io_uring/kbuf.c @@ -218,11 +218,7 @@ static int __io_remove_buffers(struct io_ring_ctx *ctx, if (bl->is_mapped) { i = bl->buf_ring->tail - bl->head; if (bl->is_mmap) { - struct page *page; - - page = virt_to_head_page(bl->buf_ring); - if (put_page_testzero(page)) - free_compound_page(page); + folio_put(virt_to_folio(bl->buf_ring)); bl->buf_ring = NULL; bl->is_mmap = 0; } else if (bl->buf_nr_pages) {
folio_put() is the standard way to write this, and it's not appreciably slower. This is an enabling patch for removing free_compound_page() entirely. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> --- io_uring/io_uring.c | 6 +----- io_uring/kbuf.c | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-)