On Donnerstag, 23. Januar 2020 12:13:51 CET Greg Kurz wrote: > Honestly it doesn't seem to change anything significant for me. > Mean time calculated over 100 runs: > > Without this patch: > > [greg@bahia qemu-9p]$ (cd .mbuild-$(stg branch)/obj ; export > QTEST_QEMU_BINARY='x86_64-softmmu/qemu-system-x86_64'; make all > tests/qtest/qos-test && for i in {1..100}; do tests/qtest/qos-test -p > $(tests/qtest/qos-test -l | grep readdir/basic); done) |& awk '/IMPORTANT/ > { print $10 }' | sed -e 's/s//' -e 's/^/n+=1;x+=/;$ascale=6;x/n' | bc > .055654 > > With this patch: > > [greg@bahia qemu-9p]$ (cd .mbuild-$(stg branch)/obj ; export > QTEST_QEMU_BINARY='x86_64-softmmu/qemu-system-x86_64'; make all > tests/qtest/qos-test && for i in {1..100}; do tests/qtest/qos-test -p > $(tests/qtest/qos-test -l | grep readdir/basic); done) |& awk '/IMPORTANT/ > { print $10 }' | sed -e 's/s//' -e 's/^/n+=1;x+=/;$ascale=6;x/n' | bc > .058786
:))) Mhmm, that's because you have run this test WITHOUT the actual readdir optimization patch. In this scenario the readdir latency issue is so bad, that the driver's n-square issue does not even matter, so same here: Unoptimized readdir, no n-squre correction hack: Time client spent for waiting for reply from server: 0.082831s [MOST IMPORTANT] Unoptimized readdir, with n-squre correction hack: Time client spent for waiting for reply from server: 0.082539s [MOST IMPORTANT] BUT, now look at this *with* readdir optimization applied: Optimized readdir, no n-square correction hack: Time 9p server spent on synth_readdir() I/O only (synth driver): 0.021304s Time 9p server spent on entire T_readdir request: 0.022033s [IMPORTANT] Time client spent for waiting for reply from server: 0.022408s [MOST IMPORTANT] Optimized readdir, with n-square correction hack: Time 9p server spent on synth_readdir() I/O only (synth driver): 0.001576s Time 9p server spent on entire T_readdir request: 0.002244s [IMPORTANT] Time client spent for waiting for reply from server: 0.002566s [MOST IMPORTANT] Got it? :) I had good reasons for printing out the time spent on raw driver only. Best regards, Christian Schoenebeck