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