> -----Original Message----- > From: Christoph Hellwig [mailto:hch@xxxxxxxxxxxxx] > Sent: Wednesday, August 30, 2017 1:52 AM > To: Long Li <longli@xxxxxxxxxxxxx> > Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>; Steve French > <sfrench@xxxxxxxxx>; linux-cifs@xxxxxxxxxxxxxxx; samba- > technical@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > 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. I'll look through the code allocating the buffers, it probably can fit into one page. Will fix this. -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html