Directed yield.
Get series with b4
b4 am 20060915113024.GD23134@skybaseVersions newest first
- v1 Latest2 patches 2 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | Directed yield: cpu_relax variants for spinlocks and rw-locks.include/ include/ include/ +13 more | +62 | 2 replies | |
| 2/2 | Directed yield: direct yield of spinlocks for s390.arch/ arch/ arch/ +3 more | +87 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [patch 0/2] Directed yield.
Hi folks,
with CONFIG_PREEMPT=y the spin_lock/read_lock/write_lock functions are defined in kernel/spinlock.c with a loop over _raw_##op##_trylock. If the lock could not be taken cpu_relax is called. The architecture can't choose to do something else instead of cpu_relax. To implement a directed yield that gives up the timeslice of a virtual cpu in favour of a specific cpu, the cpu_relax needs to be replaced with something new: _raw_spin_relax, _raw_read_relax or _raw_write_relax.
Patch #01 introduces the new primitives and patch #02 has the s390 implementation for directed yield as example for the use of the primitives.
Signature · 8 lines
blue skies, Martin. Martin Schwidefsky Linux for zSeries Development & Services IBM Deutschland Entwicklung GmbH "Reality continues to ruin my life." - Calvin.