[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