On 5 feb 2007, at 23:07, Alan wrote:
> atomic_t on many platforms isn't that efficient and there are more 
> cases
> where the atomic bit operations are fast. How about using
> test_bit/set_bit/clear_bit/etc

I don't know. The thing is, I want something different from atomicity.

In itself, atomically setting a variable to a value is not a very 
impressive achievement. This is different for bit operations, but I'm 
not interested in bit operations at all.

What I really want is ordered access and volatility. I want exactly the 
kind of semantics that Java defines for volatile variables.

For example in acm_tty_unthrottle, where it says:

        atomic_set(&acm->throttle, 0);
        tasklet_schedule(&acm->urb_task);

I want to guarantee that the tasklet will actually see the effect of 
setting acm->throttle to 0, even if the tasklet runs on a different CPU 
and even though I did not take a lock while manipulating the throttle 
variable.

I think that atomic_t gives me this ordering guarantee, but now I'm not 
sure anymore. The kernel docs are also not very clear on this subject. 
Ok, I'm all confused now. Who understands how this works?

Thanks,
   Joris.


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to