> -----Original Message-----
> From: Christoph Hellwig [mailto:[email protected]]
> Sent: Sunday, August 13, 2017 3:24 AM
> To: Long Li <[email protected]>
> Cc: Steve French <[email protected]>; [email protected]; samba-
> [email protected]; [email protected]; Long Li
> <[email protected]>
> 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.

Reply via email to