[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <BLU0-SMTP1270709DA425DAB477295E0C43D0@phx.gbl>
Date: Sat, 7 Sep 2013 13:39:47 +0200
From: Mayk Eskila <meskilla@...look.com>
To: linux-kernel@...r.kernel.org
Subject: Problems with splice
Hello list,
I intend to upgrade my own disc and partition cloning program by using
splice. When running splice-cp.c from current git on my average dualcore
hardware with kernel 3.10 I found that copying 1G files with splice is
about twice as fast as using plain vanilla cp.
However I have encountered the following problems:
a) When trying to copy files with 2G size the program immediately
terminates with the error "open input: Value too large for defined data
type".
b) When trying to copy from a harddisc partition like /dev/sdb1 the
program immediately terminates without any error and without copying.
c) When output is directed to /dev/null transfer speeds are extremely bad.
I guess that a+b might be due to size being larger than 32bit value. Is
this a bug in the kernel or how can it be prevented from a user space
program?
c) I guess that the code run when outputting to /dev/null takes it's time,
but I intend to use that possibility for benchmarking pure read
throughputs. In the current program I detect that special case and do not
open the output file and in the copying loop skip all writing code. How
could this be done by using the splice
family and thus avoid copying data to user space?
d) I also intend to use it for wiping discs and partitions. I know how to
fill a buffer with zeros or pseudo random data, but how can I avoid
repeatedly copying that data into kernel space?
Many thanks for your help!
Mayk
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists