From: Denis V. <vd...@il...> - 2005-11-29 06:58:09
|
On Monday 28 November 2005 22:15, Carlos Mart=EDn wrote: > Hello again, >=20 > So, after figuring out a couple of times that I'm a total idiot, > I've finally got the URBs serialsed. Rough patch with How Things > Should Be is attached, but don't apply yet. This so people can > complain/comment. >=20 > This would make it absolutely impossible for URBs to get reordered, > but it takes some performance with it. I've seen a ~20-30kB/s decrease > in download speed. >=20 > I've not seen any problem with having 2 URBs on SMP so it should be > alright to leave it. I've not used it in a day-to-day situation (I've > got 100BaseE to the router) though I might in the future. I think this > should either be a compile-time option or a patch in case/when people > have problems with reordering. The decrease doesn't sound much, when > when you're transferring a CD or specially a DVD, you do notice it. > Maybe I should use WiMax at home :) >=20 > I'll see what you say and send a patch out in the next couple of days. Why there is no "goto end_unlock" in second hunk below? @@ -1104,7 +1101,7 @@ acxusb_i_complete_rx(struct urb *urb, st case -EOVERFLOW: printk(KERN_ERR "acx: rx data overrun\n"); priv->rxtruncsize =3D 0; /* Not valid anymore. */ =2D goto do_poll_rx; + goto end_unlock; case -ECONNRESET: priv->rxtruncsize =3D 0; goto end_unlock; @@ -1115,14 +1112,13 @@ acxusb_i_complete_rx(struct urb *urb, st priv->rxtruncsize =3D 0; priv->stats.rx_errors++; printk("acx: rx error (urb status=3D%d)\n", urb->status); =2D goto do_poll_rx; } if (!size) Apart from that, looks very nice :) Putting it on the web page. http://195.66.192.167/linux/acx_patches/acx-serialise-usb-rx.patch =2D- vda |