Messages in this thread |  | | From | Long Li <> | Subject | RE: [[PATCH v1] 15/37] [CIFS] SMBD: Post a SMBD data transfer message with data payload | Date | Wed, 30 Aug 2017 02:17:56 +0000 |
| |
> -----Original Message----- > From: Christoph Hellwig [mailto:hch@infradead.org] > Sent: Sunday, August 13, 2017 3:24 AM > To: Long Li <longli@microsoft.com> > Cc: Steve French <sfrench@samba.org>; linux-cifs@vger.kernel.org; samba- > technical@lists.samba.org; linux-kernel@vger.kernel.org; Long Li > <longli@microsoft.com> > Subject: Re: [[PATCH v1] 15/37] [CIFS] SMBD: Post a SMBD data transfer > message with data payload > > You can always get the struct page for kernel allocations using virt_to_page > (or vmalloc_to_page, but this code would not handle the vmalloc case either), > so I don't think you need this helper and can always use the one added in the > previous patch.
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.
|  |