[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <MWHPR21MB0190E9E8303EADE6A6C84D90CE9C0@MWHPR21MB0190.namprd21.prod.outlook.com>
Date: Wed, 30 Aug 2017 02:17:56 +0000
From: Long Li <longli@...rosoft.com>
To: Christoph Hellwig <hch@...radead.org>
CC: 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
> -----Original Message-----
> From: Christoph Hellwig [mailto:hch@...radead.org]
> Sent: Sunday, August 13, 2017 3:24 AM
> To: Long Li <longli@...rosoft.com>
> Cc: Steve French <sfrench@...ba.org>; linux-cifs@...r.kernel.org; samba-
> technical@...ts.samba.org; linux-kernel@...r.kernel.org; Long Li
> <longli@...rosoft.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.
Powered by blists - more mailing lists