[Click] Handler Synchronization question

Bobby Longpocket bobbylongpocket at yahoo.com
Fri Feb 11 13:47:58 EST 2011


Hi Roman,

The simplest way is to *not* set the Handler::NONEXCLUSIVE flag for the handler unless you know that there are no synchronization issues with other logic in the element.

Are you talking about a case in which you need to set Handler::NONEXCLUSIVE for performance reasons?

BBL

--- On Fri, 2/11/11, Roman Chertov <rchertov at cs.ucsb.edu> wrote:

> From: Roman Chertov <rchertov at cs.ucsb.edu>
> Subject: [Click] Handler Synchronization question
> To: click at pdos.csail.mit.edu
> Date: Friday, February 11, 2011, 10:27 AM
> I have a question regarding
> synchronization between the handlers and the main
> element code.  As far as I understand, using
> Handler::NONEXCLUSIVE flag when
> defining a handler allows for the case where the main
> thread executes a task for
> some element, while at the same time the handler for that
> element can get
> called.
> 
> However, the following comment for SpinLock got me confused
> as to how ensure
> atomic operations when the element task and the handler
> execute at the same
> time.
> 
>  * Spinlock operations do nothing unless Click was compiled
> with SMP support
>  * (with --enable-multithread).  Therefore, Spinlock
> should not be used to,
>  * for example, synchronize handlers with main element
> threads.  See also
>  * SpinlockIRQ.
> 
> If Spinlock is not the proper mechanism, what is the proper
> way to do it when
> building an element that must work in user and kernel
> levels?
> 
> Thanks,
> 
> Roman
> 
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
> 


 
____________________________________________________________________________________
The fish are biting. 
Get more visitors on your site using Yahoo! Search Marketing.
http://searchmarketing.yahoo.com/arp/sponsoredsearch_v2.php



More information about the click mailing list