[Discuss-gnuradio] NetBSD USRP USB changes committed to master repository

2006-07-26 Thread Greg Troxel

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

2006-07-26 Thread Berndt Josef Wulf
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

2006-07-26 Thread Greg Troxel

  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

2006-07-26 Thread Berndt Josef Wulf
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

2006-07-26 Thread Eric Blossom
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