On Mon, Jan 23, 2017 at 05:50:23PM +0100, Johan Hovold wrote: > On Mon, Jan 23, 2017 at 03:39:43PM +0000, Bryan O'Donoghue wrote: > > Have you run this through loopback without any # of in-flight operations > > constrained ? > > No, not yet as that would require also your changes to the loopback > driver (the loopback driver still has its custom timeout implementation > after this patch). > > I tested this using gbsim and synchronous operations as my Ara build > setup is currently broken. Ok, I spent my morning restoring my Ara build setup (java apparently broke after an nss update). I tested Bryan's loopback cleanups on top of my core-timeout patch and all look fine. Some stats below for the interested. Consistently increased throughput, which is not unexpected even if a more controlled benchmark is needed to claim that to be a direct consequence of the more efficient timeout handling (and not at least partly due to noise). Note that the final test with 1000 outstanding async operations shows a 50% throughput increase however. Bryan, if you could consider my review feedback and respin your last three patches on top of my timeout patch, I think we should be good. Thanks, Johan core timeouts + loopback cleanups --------------------------------- arche:/ # gb_loopback_test -i 1000 -s 128 -t sink -p 1970-9-3 22:9:55 test: sink path: gb_loopback0 size: 128 iterations: 1000 errors: 0 async: Disabled requests per-sec: min=438, max=443, average=441.816132, jitter=5 ap-throughput B/s: min=68403 max=69198 average=68923.312500 jitter=795 ap-latency usec: min=1801 max=3303 average=2252.021973 jitter=1502 apbridge-latency usec: min=0 max=0 average=0.000000 jitter=0 gbphy-latency usec: min=0 max=0 average=0.000000 jitter=0 arche:/ # gb_loopback_test -i 1000 -s 128 -t sink -x -c 4 -p 1970-9-3 22:9:24 test: sink path: gb_loopback0 size: 128 iterations: 1000 errors: 0 async: Enabled requests per-sec: min=1556, max=1556, average=1556.902466, jitter=0 ap-throughput B/s: min=242876 max=242876 average=242876.781250 jitter=0 ap-latency usec: min=1548 max=3949 average=2226.724121 jitter=2401 apbridge-latency usec: min=0 max=0 average=0.000000 jitter=0 gbphy-latency usec: min=0 max=0 average=0.000000 jitter=0 arche:/ # gb_loopback_test -i 1000 -s 128 -t sink -x -c 4 -p -o 2000 1970-9-3 22:7:35 test: sink path: gb_loopback0 size: 128 iterations: 1000 errors: 479 async: Enabled requests per-sec: min=889, max=889, average=889.307678, jitter=0 ap-throughput B/s: min=138731 max=138731 average=138732.000000 jitter=0 ap-latency usec: min=1489 max=3937 average=2498.234131 jitter=2448 apbridge-latency usec: min=0 max=0 average=0.000000 jitter=0 gbphy-latency usec: min=0 max=0 average=0.000000 jitter=0 arche:/ # gb_loopback_test -i 1000 -s 128 -t sink -x -c 1000 -p -o 500000 1970-9-3 22:13:37 test: sink path: gb_loopback0 size: 128 iterations: 1000 errors: 0 async: Enabled requests per-sec: min=2448, max=2448, average=2448.567871, jitter=0 ap-throughput B/s: min=381976 max=381976 average=381976.593750 jitter=0 ap-latency usec: min=1818 max=390546 average=197478.406250 jitter=388728 apbridge-latency usec: min=0 max=0 average=0.000000 jitter=0 gbphy-latency usec: min=0 max=0 average=0.000000 jitter=0 loopback custom timeouts ------------------------ arche:/ # gb_loopback_test -i 1000 -s 128 -t sink -p 1970-9-3 22:18:26 test: sink path: gb_loopback0 size: 128 iterations: 1000 errors: 0 async: Disabled requests per-sec: min=399, max=410, average=404.397247, jitter=11 ap-throughput B/s: min=62393 max=64003 average=63085.972656 jitter=1610 ap-latency usec: min=1738 max=4180 average=2456.197021 jitter=2442 apbridge-latency usec: min=0 max=0 average=0.000000 jitter=0 gbphy-latency usec: min=0 max=0 average=0.000000 jitter=0 arche:/ # gb_loopback_test -i 1000 -s 128 -t sink -x -c 4 -p 1970-9-3 22:19:45 test: sink path: gb_loopback0 size: 128 iterations: 1000 errors: 0 async: Enabled requests per-sec: min=1602, max=1602, average=1602.304810, jitter=0 ap-throughput B/s: min=249959 max=249959 average=249959.546875 jitter=0 ap-latency usec: min=1370 max=12380 average=2295.093994 jitter=11010 apbridge-latency usec: min=0 max=0 average=0.000000 jitter=0 gbphy-latency usec: min=0 max=0 average=0.000000 jitter=0 arche:/ # gb_loopback_test -i 1000 -s 128 -t sink -x -c 4 -p -o 2000 1970-9-3 22:20:21 test: sink path: gb_loopback0 size: 128 iterations: 1000 errors: 500 async: Enabled requests per-sec: min=840, max=840, average=840.522583, jitter=0 ap-throughput B/s: min=131121 max=131121 average=131121.531250 jitter=0 ap-latency usec: min=1439 max=7243 average=2192.704102 jitter=5804 apbridge-latency usec: min=0 max=0 average=0.000000 jitter=0 gbphy-latency usec: min=0 max=0 average=0.000000 jitter=0 arche:/ # gb_loopback_test -i 1000 -s 128 -t sink -x -c 1000 -p -o 500000 1970-9-3 22:21:5 test: sink path: gb_loopback0 size: 128 iterations: 1000 errors: 0 async: Enabled requests per-sec: min=1601, max=1601, average=1601.699097, jitter=0 ap-throughput B/s: min=249865 max=249865 average=249865.062500 jitter=0 ap-latency usec: min=6675 max=271112 average=137154.109375 jitter=264437 apbridge-latency usec: min=0 max=0 average=0.000000 jitter=0 gbphy-latency usec: min=0 max=0 average=0.000000 jitter=0 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel