Messages in this thread |  | | Date | Thu, 22 May 2008 22:54:59 -0700 | | From | Andrew Morton <> | | | Subject | Re: pagevecs of more than PAGEVEC_SIZE pages |
On Thu, 22 May 2008 14:13:07 -0500 "Steve French" <smfrench@gmail.com> wrote:
> Now that various servers support processing larger than 64K file
> writes, it would be helpful to have pagevecs that are larger than 14
> pages (PAGEVEC_SIZE).so an array of more pages could be passed to
> kernel_sendmsg (thus allowing writes larger than 56K, depending on
> wsize - the server limit is currently 8MB)
You can pass multiple pagevecs into kernel_sendmsg?
> pagevec_lookup_tag (and the inline function pagevec_space which I
> don't use) is the main place that cifs needs a pagevec instead of
> simply an array of pages and PAGEVEC_SIZE does not seem to matter
> there (it works if I malloc a structure with more pages and request
> more than 14 pages out of pagevec_lookup_tag). Is there another
> better alternative other than defining a larger pagevec (pagevec2 or
> cifs_pagevec)? Should I simply kmalloc something larger than a
> pagevec and cast a (struct pagevec *) to it?
We could make pagevecs variable-sized easily enough - add a `struct
page **' to it. But it's more overhead and this is the first time I've
seen demand for it?
|  |