Changes since v1
- Rebased against android12-5.10
- Moved from
task_work_add()
tosmp_call_function()
for task PARTID synchronization - Removed
task_struct.partid
field for pure cpuset:PARTID mapping - Implemented cpuset discovery & PARTID initalization at module load.
- Added cleanup at module unload.
Symbol exports
- Removed
task_work_add()
,css_task_iter_*()
exports
task_curr()
could be exported to be reused by this module, but the runqueues
symbol
is already exported. Thus, the module is placed in the scheduler directory to leverage
that symbol and reimplement task_curr()
locally, without requiring any further export.
Testing
Tested against cgroupv1 and cgroupv2 with a single root on a Juno r0.
Expected behaviour verified via ftrace.
Run with DEBUG_ATOMIC_SLEEP
, PROVE_LOCKING
, DEBUG_PER_CPU_MAPS
.