[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170830085138.GA4761@infradead.org>
Date: Wed, 30 Aug 2017 01:51:38 -0700
From: Christoph Hellwig <hch@...radead.org>
To: Long Li <longli@...rosoft.com>
Cc: Christoph Hellwig <hch@...radead.org>,
Steve French <sfrench@...ba.org>,
"linux-cifs@...r.kernel.org" <linux-cifs@...r.kernel.org>,
"samba-technical@...ts.samba.org" <samba-technical@...ts.samba.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [[PATCH v1] 15/37] [CIFS] SMBD: Post a SMBD data transfer
message with data payload
On Wed, Aug 30, 2017 at 02:17:56AM +0000, Long Li wrote:
> I partially addressed this issue in the V3 patch. Most of the duplicate
> code on sending path is merged.
>
> The difficulty with translating the buffer to pages is that: I don't
> know how many pages will be translated, and how many struct page I need
> to allocate in advance to hold them. I try to avoid memory allocation
> in the I/O path as much as possible. So I keep two functions of
> sending data: one for buffer and one for pages.
You do: you'll always need speace for (len + PAGE_SIZE - 1) >> PAGE_SIZE
pages.
That being said: what callers even send you buffers? In general we
should aim to work with pages for all allocations that aren't tiny.
Powered by blists - more mailing lists