Re: [PATCH] nvme-tcp: fix usage of page_frag_cache
Keith Busch <[email protected]>
| Newsgroups | org.infradead.lists.linux-nvme,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <anphZRzJvg0zSE6g@kbusch-mbp> |
On Thu, Jul 16, 2026 at 04:42:19PM +0200, Daniel Wagner wrote: > From: Dmitry Bogdanov <[email protected]> > > nvme uses page_frag_cache to preallocate PDU for each preallocated request > of block device. Block devices are created in parallel threads, > consequently page_frag_cache is used in not thread-safe manner. > That leads to incorrect refcounting of backstore pages and premature free. I was struggling to see how the nvme_tcp callback was happening concurrently for the same queue. It's because you're using an io scheduler, right? I don't think this applies if you don't have one enabled. Anyway, with that understanding, looks like a safe patch. Applied to nvme-7.3.