[Click] Spinlock question

Eddie Kohler kohler at cs.ucla.edu
Wed May 19 02:50:34 EDT 2004


Hi Mike,

Click does not guarantee this.

Click _does_ guarantee some exclusion between user-called handlers.  Any
number of read handlers can be active simultaneously, but write handlers happen 
atomically with respect to all other handlers.  A similar statement holds for 
LLRPCs (ioctls).  (But handlers called from within the configuration might 
happen simultaneously with user-called handlers.)

It might make sense for Click to guarantee mutual exclusion between threads and 
write handlers.  Would this help you in any way?

Eddie

P.S. If you run "--enable-multithread=N" you can have multiple threads of 
control of course.


Michael Walfish wrote:
> Does Click guarantee to module owners that only one thread of control 
> inside their module will be active at any time?
> 
> If not, then should memory shared by the control path (e.g., handlers used 
> to set up state) and the datapath (e.g., code executed in Element::push()) 
> be protected by Spinlocks?
> 
> thanks,
> Mike
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click



More information about the click mailing list