[Discuss-gnuradio] NetBSD USRP USB changes committed to master repository
On Monday I committed the changes to ugen(4) that Joanne previously described on the list to the master NetBSD repository. The option is enabled in GENERIC and GENERIC_LAPTOP on i386 and GENERIC on amd64, and is described in the ugen(4) man page. Updating to the latest -current should be sufficient to get these changes. Berndt Josef Wulf reports that they work for him when using the fusb code, available at http://acert.ir.bbn.com/viewvc/adroitgrdevel/adroitgrdevel/radio_test/usb/ I am interested in reports of how well this works on both i386 and amd64. It's pretty clear that getting pipelining closer to the hardware is needed - this is being pushed upstream since it works and gets ~80% of the likely speed gain. From: Greg Troxel [EMAIL PROTECTED] Subject: CVS commit: src To: [EMAIL PROTECTED] Date: Mon, 24 Jul 2006 14:24:50 + (UTC) Reply-To: [EMAIL PROTECTED] Module Name:src Committed By: gdt Date: Mon Jul 24 14:24:50 UTC 2006 Modified Files: src/share/man/man4: ugen.4 src/sys/arch/i386/conf: GENERIC GENERIC_LAPTOP src/sys/dev/usb: files.usb ugen.c usb.h Log Message: Add UGEN_BULK_RA_WB, which allows users of ugen(4) to request read ahead and write behind, improving performance for the Universal Software Radio Peripheral (USRP) used with GNU Radio. Enable UGEN_BULK_RA_WB in GENERIC and GENERIC_LAPTOP; behavior is unchanged unless the new ioctl is called. This code was written by Joanne Mikkelson under funding from DARPA's ACERT program. ok'd by christos@, tested by Berndt Josef Wulf To generate a diff of this commit: cvs rdiff -r1.21 -r1.22 src/share/man/man4/ugen.4 cvs rdiff -r1.762 -r1.763 src/sys/arch/i386/conf/GENERIC cvs rdiff -r1.190 -r1.191 src/sys/arch/i386/conf/GENERIC_LAPTOP cvs rdiff -r1.67 -r1.68 src/sys/dev/usb/files.usb cvs rdiff -r1.83 -r1.84 src/sys/dev/usb/ugen.c cvs rdiff -r1.73 -r1.74 src/sys/dev/usb/usb.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. -- Greg Troxel [EMAIL PROTECTED] pgp96yZCCXMKt.pgp Description: PGP signature ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] NetBSD USRP USB changes committed to master repository
On Wednesday 26 July 2006 22:22, Greg Troxel wrote: On Monday I committed the changes to ugen(4) that Joanne previously described on the list to the master NetBSD repository. The option is enabled in GENERIC and GENERIC_LAPTOP on i386 and GENERIC on amd64, and is described in the ugen(4) man page. Updating to the latest -current should be sufficient to get these changes. Berndt Josef Wulf reports that they work for him when using the fusb code, available at http://acert.ir.bbn.com/viewvc/adroitgrdevel/adroitgrdevel/radio_test/usb/ I am interested in reports of how well this works on both i386 and amd64. It's pretty clear that getting pipelining closer to the hardware is needed - this is being pushed upstream since it works and gets ~80% of the likely speed gain. [...] G'day, for those interested here are a few results from the tests conducted on a Dell Inspiron 9400 Centrino Duo @ 2GHz/1GB running NetBSD-3.99.21: barossa: {29} ./test_usrp_standard_rx xfered 1.34e+08 bytes in 4.2 seconds. 3.197e+07 bytes/sec. cpu time = 0.04173 noverruns = 41 barossa: {30} ./test_usrp_standard_tx ... usb_control_msg failed: error sending control message: Input/output error xfered 1.34e+08 bytes in 4.64 seconds. 2.894e+07 bytes/sec. cpu time = 0.491 41 underruns barossa: {33} ./benchmark_usb.py Testing 2MB/sec... usb_control_msg failed: error sending control message: Input/output error uUusb_throughput = 2M ntotal= 100 nright= 947559 runlength = 0 delta = 100 FAILED Testing 4MB/sec... usb_control_msg failed: error sending control message: Input/output error uUusb_throughput = 4M ntotal= 200 nright= 1997896 runlength = 1997896 delta = 2104 OK Testing 8MB/sec... usb_control_msg failed: error sending control message: Input/output error usb_throughput = 8M ntotal= 400 nright= 3999286 runlength = 3999286 delta = 714 OK Testing 16MB/sec... usb_control_msg failed: error sending control message: Input/output error usb_throughput = 16M ntotal= 800 nright= 7997737 runlength = 7997737 delta = 2263 OK Testing 32MB/sec... usb_control_msg failed: error sending control message: Input/output error usb_throughput = 32M ntotal= 1600 nright= 15999303 runlength = 15999303 delta = 697 OK Max USB/USRP throughput = 32MB/sec Interestingly, the 2MB/sec test fails although the faster speeds are ok. cheerio Berndt pgpUl304aTUCV.pgp Description: PGP signature ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] NetBSD USRP USB changes committed to master repository
barossa: {29} ./test_usrp_standard_rx xfered 1.34e+08 bytes in 4.2 seconds. 3.197e+07 bytes/sec. cpu time = 0.04173 noverruns = 41 barossa: {30} ./test_usrp_standard_tx ... usb_control_msg failed: error sending control message: Input/output error xfered 1.34e+08 bytes in 4.64 seconds. 2.894e+07 bytes/sec. cpu time = 0.491 41 underruns So this doesn't work. Could you try with decimation 10 (or 12, until you get only a few underruns)? Interestingly, the 2MB/sec test fails although the faster speeds are ok. We've noticed that too. Note that the 32 MB/s speed is really 16 MB/s in each direction. It would be cool if benchmark_usrp.py tried decimation 14, 12, and 10 also, rather than stopping at 16 (and interpolation values with those rates). -- Greg Troxel [EMAIL PROTECTED] pgpTx5LBjnVgP.pgp Description: PGP signature ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] NetBSD USRP USB changes committed to master repository
On Wednesday 26 July 2006 23:19, Greg Troxel wrote: barossa: {29} ./test_usrp_standard_rx xfered 1.34e+08 bytes in 4.2 seconds. 3.197e+07 bytes/sec. cpu time = 0.04173 noverruns = 41 barossa: {30} ./test_usrp_standard_tx ... usb_control_msg failed: error sending control message: Input/output error xfered 1.34e+08 bytes in 4.64 seconds. 2.894e+07 bytes/sec. cpu time = 0.491 41 underruns So this doesn't work. Could you try with decimation 10 (or 12, until you get only a few underruns)? Here are the values that stop producing overruns: barossa: {101} ./test_usrp_standard_rx -D 10 xfered 1.34e+08 bytes in 5.24 seconds. 2.56e+07 bytes/sec. cpu time = 0.0399 noverruns = 0 barossa: {106} ./test_usrp_standard_tx -I 20 usb_control_msg failed: error sending control message: Input/output error xfered 1.34e+08 bytes in 5.28 seconds. 2.542e+07 bytes/sec. cpu time = 0.492 0 underruns cheerio Berndt pgphobctz99PA.pgp Description: PGP signature ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] NetBSD USRP USB changes committed to master repository
On Wed, Jul 26, 2006 at 09:49:10AM -0400, Greg Troxel wrote: Interestingly, the 2MB/sec test fails although the faster speeds are ok. We've noticed that too. Note that the 32 MB/s speed is really 16 MB/s in each direction. It would be cool if benchmark_usrp.py tried decimation 14, 12, and 10 also, rather than stopping at 16 (and interpolation values with those rates). It would be even better if it gave reliable answers ;) Eric ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio