[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z9Ka8-aGagGH0rd5@infradead.org>
Date: Thu, 13 Mar 2025 01:44:35 -0700
From: Christoph Hellwig <hch@...radead.org>
To: Hannes Reinecke <hare@...e.de>
Cc: Christoph Hellwig <hch@...radead.org>,
Matthew Wilcox <willy@...radead.org>,
Jakub Kicinski <kuba@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>, netdev@...r.kernel.org,
Vlastimil Babka <vbabka@...e.cz>, linux-mm@...ck.org
Subject: Re: [PATCH] mm: Decline to manipulate the refcount on a slab page
On Thu, Mar 13, 2025 at 09:34:39AM +0100, Hannes Reinecke wrote:
> nvmf_connect_command_prep() returns a kmalloced buffer.
Yes.
> That is stored in a bvec in _nvme_submit_sync_cmd() via
> blk_mq_rq_map_kern()->bio_map_kern().
> And from that point on we are dealing with bvecs (iterators
> and all), and losing the information that the page referenced
> is a slab page.
Yes. But so does every other consomer of the block layer that passes
slab memory, of which there are quite a few. Various internal scsi
and nvme command come to mind, as does the XFS buffer cache.
> The argument is that the network layer expected a kvec iterator
> when slab pages are referred to, not a bvec iterator.
It doesn't. It just doesn't want you to use ->sendpage.
Powered by blists - more mailing lists