> > Repeating the third time in hope you eventually read the mail to the end:
> > >>>Better way exists. Just use forced sock_wmalloc instead of
> > >>>sock_alloc_send_skb on non-blocking send of all the fragments
> > >>>but the first.
> Attached is a patch that I hope you will comment on (without too many
> expletives please ;-))...
After fixing the missing brackets around (flags&MSG_DONTWAIT), I did some
tests. I did some NFS writes to a Solaris server, write size = 32k, UDP, over
a switched 100Mbit/s network. Tests were done using the iozone program (see
http://www.iozone.org) 'iozone -c -e -t1 -s 120m -r128k'
- With an ordinary kernel without the patch, I saw average write speeds of
~2MB/s (peaking at ~2.5MB/s in one trial).
- With the same kernel, but applying the sock_wmalloc() patch, write speeds
suddenly jump to ~4.5MB/s (peak was 5MB/s).
... and yes, I did reboot several times in order to switch between the 2
kernels in order to check repeatability.
I did not expect the effect to be so large, and certainly I can't explain it,
however I hope you agree that it shows that fixing this bug *is* worth the
effort.
Cheers,
Trond
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/