Hi,
 I have this 2.6.x kernel mode component for which I have question regarding the synch reqmt. between workqueues (or tasklets) and kernel threads. The kernel threads are created from within the kernel module and there is no user-mode side to them.
 
 I share some global data in the kernel space that is accessed by the kernel thread and a work queue (or a tasklet) (kicked off of an isr top-half and also off of a kernel thread).
 
 Is there a need to synch access to this data if the preemption is off. What if the premption is turned on?
 
 In the case of workq's, if the synch is reqd, are down_xx() up_xx(), primitives the right ones to use?
 
Thanks much in advance.
 
_Srinivas