[PATCH 8/9] score: Add _Objects_Release_for_get_isr_disable()
Sebastian Huber
sebastian.huber at embedded-brains.de
Mon Jun 10 08:21:12 UTC 2013
On 06/07/2013 06:46 PM, Gedare Bloom wrote:
> I think the per-object critical section is (should be) only a factor
> for SMP. UP mode should continue to use the same kind of protection,
> that is, dispatch disable, plus allocator or isr locks in some
> situations. The way I see it from what Sebastian has said so far, we
> will have something like,
> Object_Get() // dispatch disable on local core / UP, optional isr disable.
> Object_Acquire() // fine-grained lock on SMP, nop on UP
> ... do something
> Object_Release() // fine-grained unlock on SMP, nop on UP
> Object_Put() // unnest dispatch
>
> But, we might be able to consider turning Object_Acquire/Release into
> ISR_Disable/Enable on UP to replace Object_Get_isr_disable() in some
> cases. That would have to be determined on a case-by-case basis
> probably.
Yes, this is exactly how I would do it at the moment.
The _Objects_Get_isr_disable() is only used for semaphores. It is necessary to
support release operations in interrupt context.
There is a lot of work ahead. The highest priority things on my current TODO
list are:
1. A working scheduler
2. Success of all SMP test cases
3. A per-processor thread dispatch disable level
4. Cache line optimized per-CPU structure
5. Ability to delete threads
6. Condition variables (necessary for bdbuf -> block device based file systems)
7. TLS
8. Thread dispatch necessary signalization without overhead
--
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