On Tue, Dec 9, 2008 at 5:05 PM, Mitch Bradley <[EMAIL PROTECTED]> wrote:
> Nice!
>
> One quick test, for starters, is to do some file accesses to large files (dd
> or tar or whatever) and use the "time" command to look at the system and
> user times.  With the patch, the system time should drop to a fraction of
> the real time.

The system time does drop considerably, but unfortunately the transfer
rate also decreases significantly. I think this is because many of the
commands execute very quickly (1-10us), therefore it is wasteful to go
and schedule a new process only to come back immediately after.
Perhaps we can come up with a scheme that does a fast busy-loop for
the quick commands, and then schedules for the longer ones.

Here are the results anyway. Both experiments running on joyride-2579,
jffs2 filesystem, and a 50mb "randfile" that I generated on another
computer from /dev/urandom

First experiment was "echo 3 > /proc/sys/vm/drop_caches; time dd
if=randfile of=/dev/null"
that is, reading the file from the NAND, with caches cold. Repeated 3 times.

Before:
52428800 bytes (52 MB) copied, 5.4499 s, 9.6 MB/s
real    0m7.324s
sys     0m7.080s

52428800 bytes (52 MB) copied, 5.38514 s, 9.7 MB/s
real    0m5.452s
sys     0m5.190s

52428800 bytes (52 MB) copied, 5.41167 s, 9.7 MB/s
real    0m5.480s
sys     0m5.210s



After:
52428800 bytes (52 MB) copied, 10.2002 s, 5.1 MB/s
real    0m24.593s
sys     0m2.310s

52428800 bytes (52 MB) copied, 10.166 s, 5.2 MB/s
real    0m10.266s
sys     0m0.910s

52428800 bytes (52 MB) copied, 9.72464 s, 5.4 MB/s
real    0m9.840s
sys     0m1.210s

So, the transfer rate dropped from about 9.6mb/sec to about 5.3mb/sec.
However, sys time decreased by a factor of about 5. Also note that the
first run in each case took significantly longer (especially in the
after case, perhaps an anomaly) presumably because it had to load 'dd'
from nand too.



Second experiment: duplicate the file on disk, with hot caches so that
we are measuring write (and not also read).
"rm copy; cat randfile > /dev/null; time cp randfile copy" repeated 3 times

Before:
real    0m56.459s
sys     0m51.280s

real    0m57.919s
sys     0m51.300s

real    0m56.016s
sys     0m50.970s

After:
real    1m36.600s
sys     0m7.480s

real    1m19.303s
sys     0m6.980s

real    1m28.450s
sys     0m6.930s


Again, a considerable increase in real time, and a considerable
decrease in sys time.

I'll try and find some time to identify which commands are the ones
that take long, and then try a patch that only avoids the busy-wait
for those ones.

Daniel
_______________________________________________
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel

Reply via email to