android_kernel_xiaomi_sm8350/arch/powerpc/platforms
Christoph Hellwig 2eb1b12049 [POWERPC] spu sched: static timeslicing for SCHED_RR contexts
For SCHED_RR tasks we can do some really trivial timeslicing.  Basically
we fire up a time for every scheduler tick that searches for a higher
or same priority thread that is on the runqueue and if there is one
context switches to it.  Because we can't lock spus from timer context
we actually run this from a delayed runqueue instead of a timer.

A nice optimization would be to skip the actual priority bitmap search
when there are less contexts than physical spus available.  To implement
this I need a so far unpublished patch from Andre, and it will be added
after we have that patch in.

Note that right now we only do the time slicing for SCHED_RR tasks.
The code would work for SCHED_OTHER tasks aswell, but their prio
value is defered from the one the PPU thread has at time of spu_run,
and using this for spu scheduling decisions would make the code very
unfair.  SCHED_OTHER support will be enabled once we the spu scheduler
knows how to calculcate cpu_context.prio (very soon)

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
2007-02-13 21:55:43 +01:00
..
4xx kconfig: Standardize "depends" -> "depends on" in Kconfig files 2006-12-12 20:04:19 +01:00
8xx [POWERPC] Add mpc866ads board-specific bits to arch/powerpc 2007-02-07 14:03:17 +11:00
52xx [POWERPC] Small cleanup of EFIKA platform 2007-02-13 15:35:53 +11:00
82xx [POWERPC] Fix kernel build errors for mpc8272ads and mpc8560ads 2007-02-07 14:03:20 +11:00
83xx [POWERPC] 83xx: Updated and renamed MPC834x SYS to MPC834x MDS 2007-02-09 11:39:46 -06:00
85xx [POWERPC] 85xx: Marked functions static 2007-02-09 09:30:45 -06:00
86xx [POWERPC] 86xx: local_irq_disable() is redundant after local_irq_save() 2007-02-07 14:03:20 +11:00
apus
cell [POWERPC] spu sched: static timeslicing for SCHED_RR contexts 2007-02-13 21:55:43 +01:00
celleb [POWERPC] Celleb: improve MMU hashtable locking 2007-02-13 15:35:51 +11:00
chrp [PATCH] arch/powerpc trivial annotations 2007-02-09 09:14:06 -08:00
embedded6xx [POWERPC] Update to linkstation / kurobox support 2007-02-09 11:41:18 -06:00
iseries [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
maple [POWERPC] Maple: use mmio nvram 2007-02-07 14:03:23 +11:00
pasemi [POWERPC] pasemi: iommu support 2007-02-07 14:03:22 +11:00
powermac [PATCH] Dynamic kernel command-line: powerpc 2007-02-12 09:48:38 -08:00
prep
ps3 [POWERPC] powerpc: Remove SPU struct pages for PS3 2007-02-13 15:35:54 +11:00
pseries [POWERPC] Mark winbond IDE PCI resources with start 0 as unassigned 2007-02-13 15:35:52 +11:00
Makefile [POWERPC] Restore 'proper' link order in platform 2007-02-13 15:35:53 +11:00