Re: [linux-usb-devel] Re: [PATCH 00/10] usb-serial: Switches fromspin lock to atomic_t.

From: Luiz Fernando Capitulino
Date: Wed Dec 07 2005 - 07:23:49 EST


On Tue, 6 Dec 2005 23:48:14 +0100
Oliver Neukum <oliver@xxxxxxxxxx> wrote:

| Am Dienstag, 6. Dezember 2005 21:13 schrieb Eduardo Pereira Habkost:
| > 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;' ?
|
| spin_lock() can be dropped on UP. atomic_XXX must either use an operation
| on main memory, meaning less efficient code generation, or must disable
| interrupts even on UP.

Hmmm, I didn't know about the possibility to disable interrupts.

In the OOPS thread:

http://marc.theaimsgroup.com/?l=linux-usb-devel&m=113269682409774&w=2

*IIUC*, Greg told us that we could think about the possibility to drop
the spin lock and use the semaphore instead, because URB writes are slow.

We (me and Eduardo) didn't like it because we would be using the same
lock for two different problems, so we suggested the atomic_t, and Greg
agreed (IIRC).

Isn't it right? Is the URB write so fast that switching to atomic_t
doesn't pay-off?

--
Luiz Fernando N. Capitulino
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/