1 Jun 2007 01:08
[PATCH] support larger cifs network reads
Steve French <smfrench <at> gmail.com>
2007-05-31 23:08:23 GMT
2007-05-31 23:08:23 GMT
With Samba 3.0.26pre it is now possible for a cifs client (one which supports the newest Unix/Posix cifs extensions) to request up to almost 8MB at a time on a cifs read request. A patch for the cifs client to support larger reads follows. In this patch, using very large reads is not the default behavior, since it would require larger buffer allocations for the large cifs request buffers, but in the future when cifs can demultiplex reads to a page list in the cifs_demultiplex_thread (without having to copy to a large temporary buffer) this will be even more useful. diff --git a/fs/cifs/README b/fs/cifs/README index 4d01697..6ad722b 100644 --- a/fs/cifs/README +++ b/fs/cifs/README <at> <at> -301,8 +301,19 <at> <at> A partial list of the supported mount op during the local client kernel build will be used. If server does not support Unicode, this parameter is unused. - rsize default read size (usually 16K) - wsize default write size (usually 16K, 32K is often better over GigE) + rsize default read size (usually 16K). The client currently + can not use rsize larger than CIFSMaxBufSize. CIFSMaxBufSize + defaults to 16K and may be changed (from 8K to the maximum + kmalloc size allowed by your kernel) at module install time + for cifs.ko. Setting CIFSMaxBufSize to a very large value + will cause cifs to use more memory and may reduce performance + in some cases. To use rsize greater than 127K (the original + cifs protocol maximum) also requires that the server support + a new Unix Capability flag (for very large read) which some(Continue reading)
> And I'd definitely move the multiple identical "Re-enabled hotkeys" parts
> into one single non-inlined(!) function for the same reason.
> Not to mention that it's BUTT UGLY to have the *same* fat
> multi-line comment duplicated bazillion times.
Agree. New patch (untested) attached.
Thanks for review,
Richard.
> > Just for the record, this time I thought that the barrier from the
> > spinlock in timer_stats_update_stats (right before the check for active)
> > would be enough, but that's obviously running on the wrong cpu if we
> > race... *sigh*
> >
>
> Fix the comment below and you can add:
> Signed-off-by: Ian Kumlien <pomac <at> vapor.com>
>
> It's currently been running for the longest period ever, ie, 11 minutes
> =)
Finally!
RSS Feed