Hi, You know, the most important point of doing variables atomic is to
avoid race conditions when writing simple variables/Entities in a
Multithreading code, but you are right in the macro definition you mentioned
below, which doesn’t appear to be atomic at all. You know, the best way of doing things atomic in a Linux env. It’s
to make variables “volatile” in other words. Regards Avi -----Original Message----- Hi, In the following code excerpt of kernel, why the 'count'
field is set by atomic_set while other fields of tha same structure can take an assignment directly? void tasklet_init(struct tasklet_struct *t,
void (*func)(unsigned long), unsigned long data) { t->func = func; t->data = ""> t->state = 0; atomic_set(&t->count,
0); } Furthermore, the definition of atomic_set is as follows #define atomic_set(v,i)
(((v)->counter) = (i)) and there is seemingly no 'atomic feature' at all. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to Please read the FAQ at http://kernelnewbies.org/FAQ |