public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* using splice/vmsplice to improve file receive performance
@ 2006-12-21 19:21 saeed bishara
  2006-12-22  9:48 ` Jens Axboe
  2007-01-07 18:16 ` saeed bishara
  0 siblings, 2 replies; 12+ messages in thread
From: saeed bishara @ 2006-12-21 19:21 UTC (permalink / raw)
  To: linux-kernel, axboe

Hi,
I'm trying to use the splice/vmsplice system calls to improve the
samba server write throughput, but before touching the smbd, I started
to improve the ttcp tool since it simple and has the same flow. I'm
expecting to avoid the "copy_from_user" path when using those
syscalls.
so far, I couldn't make any improvement, actually the throughput get
worst. the new receive flow looks like this (code also attached):
1. read tcp packet (64 pages) to page aligned buffer.
2. vmsplice the buffer to pipe with SPLICE_F_MOVE.
3. splice the pipe to the file, also with SPLICE_F_MOVE.

the strace shows that the splice takes a lot of time. also when
profiling the kernel, I found that the memcpy() called to often !!

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2007-01-07 18:16 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-21 19:21 using splice/vmsplice to improve file receive performance saeed bishara
2006-12-22  9:48 ` Jens Axboe
2006-12-22 11:18   ` saeed bishara
2006-12-22 11:39     ` Jens Axboe
2006-12-22 11:59       ` saeed bishara
2006-12-22 12:47         ` Jens Axboe
2007-01-03 20:09           ` saeed bishara
2007-01-04 14:08             ` Jens Axboe
2007-01-04 14:16               ` Jens Axboe
2007-01-04 16:27                 ` saeed bishara
2007-01-04 17:38                   ` saeed bishara
2007-01-07 18:16 ` saeed bishara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox