On Tue, Dec 06, 2005 at 11:40:41AM -0800, Greg KH wrote: > On Tue, Dec 06, 2005 at 09:56:10AM -0200, Luiz Fernando Capitulino wrote: > > Greg, > > > > Don't get scared. :-) > > > > As showed by Eduardo Habkost some days ago, the spin lock 'lock' in the > > struct 'usb_serial_port' is being used by some USB serial drivers to protect > > the access to the 'write_urb_busy' member of the same struct. > > > > The spin lock however, is needless: we can change 'write_urb_busy' type > > to be atomic_t and remove all the spin lock usage. > > But if you do that, you make things slower on non-smp machines, which > isn't very nice. Why does the spinlock bother you? > We thought that an atomic_t was better when you suggested that we could drop the spinlock after we added a semaphore to struct usb_serial_port recently. Won't we drop the spinlock as suggested? Anyway, I don't see yet why the atomic_t would make the code slower on non-smp. Is atomic_add_unless(v, 1, 1) supposed to be slower than 'if (!v) v = 1;' ? If it is really slower, is atomic_cmpxchg() supposed to be slower, too? ("Check it yourself" is a valid answer, too :) But maybe someone could elighten me and I could save some time testing and checking the generated code) -- Eduardo
Attachment:
pgpwfQ4Kme3Gg.pgp
Description: PGP signature
- Follow-Ups:
- References:
- [PATCH 00/10] usb-serial: Switches from spin lock to atomic_t.
- From: Luiz Fernando Capitulino <[email protected]>
- Re: [PATCH 00/10] usb-serial: Switches from spin lock to atomic_t.
- From: Greg KH <[email protected]>
- [PATCH 00/10] usb-serial: Switches from spin lock to atomic_t.
- Prev by Date: Re: Add tainting for proprietary helper modules.
- Next by Date: Re: Add tainting for proprietary helper modules.
- Previous by thread: Re: [PATCH 00/10] usb-serial: Switches from spin lock to atomic_t.
- Next by thread: Re: [linux-usb-devel] Re: [PATCH 00/10] usb-serial: Switches from spin lock to atomic_t.
- Index(es):