Red-Black-Tree for Priority Queues

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Nov 18 08:18:41 UTC 2013


On 2013-11-15 21:54, Chris Johns wrote:
> On 16/11/2013 4:00 am, Sebastian Huber wrote:
>> _Thread_queue_Enqueue_priority() which use _ISR_Flash().  Usage of
>> _ISR_Flash() will be highly problematic in case we introduce fine
>> grained locking for SMP.
>
> Could you please explain the issue the _ISR_Flash has in a little more detail ?
>
> chris at huia cpukit $ grep -r _ISR_Flash $(find . -name \*.[chsS]) | wc -l
>        48
>
> Why only this routine ?

Yeah, these are 48 problem areas.  If we want to get rid of the Giant lock, 
then all the ISR disable/enable/flash places must be replaced with spin locks. 
  A direct translation of ISR flash into spin lock release/obtain is not an 
option since this can lead to performance problems.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list