aliyun / plugsched

Live upgrade Linux kernel scheduler subsystem
BSD 3-Clause "New" or "Revised" License
82 stars 23 forks source link

src: relace springboard & stack-pivot & stack protector with herd #183

Closed ampresent closed 1 year ago

ampresent commented 1 year ago

This feature is inspired by RCU grace period. It wakes up sleeping tasks without modifying their state, and mark them as need resched at the same time. This forces them doing at least one round of context switches.

while (need_resched()) { ___schedule context_switch }

By the next time it calls schedule, schedule is already restored to __orig___schedule.

With herd, we don't need to divide __schedule into two halves anymore, which means balance_fallback & finish_task_switch are part of the mod automatically.

And because springboard & stack-pivot & stack protector is not needed anymore, lots of code is saved.

Signed-off-by: Yihao Wu wuyihao@linux.alibaba.com

anolis-bot commented 1 year ago

@ampresent , a new test job has been submitted. Please wait in patience. The test job url: https://tone.openanolis.cn/ws/2r1b4c7z/test_result/41412

anolis-bot commented 1 year ago

@ampresent , The CI test is completed, please check result:

Test CaseTest Result
schedule_testx86_64:x: FAIL
schedule_testaarch64:x: FAIL

Sorry, your test job failed. Please get the details in the link.

ampresent commented 1 year ago

/retest

anolis-bot commented 1 year ago

@ampresent , the test job has been submitted. Please wait in patience. The test job url: https://tone.openanolis.cn/ws/2r1b4c7z/test_result/41420

anolis-bot commented 1 year ago

@ampresent , The CI test is completed, please check result:

Test CaseTest Result
schedule_testx86_64:x: FAIL
schedule_testaarch64:x: FAIL

Sorry, your test job failed. Please get the details in the link.

anolis-bot commented 1 year ago

@ampresent , the code has been updated, so a new test job has been submitted. Please wait in patience. The test job url: https://tone.openanolis.cn/ws/2r1b4c7z/test_result/41712

anolis-bot commented 1 year ago

@ampresent , the code has been updated, so a new test job has been submitted. Please wait in patience. The test job url: https://tone.openanolis.cn/ws/2r1b4c7z/test_result/41715

anolis-bot commented 1 year ago

@ampresent , The CI test is completed, please check result:

Test CaseTest Result
schedule_test:no_entry_sign: CREATE TASK ERROR
schedule_testaarch64:x: FAIL

Sorry, your test job failed. Please get the details in the link.

anolis-bot commented 1 year ago

@ampresent , The CI test is completed, please check result:

Test CaseTest Result
schedule_testx86_64:x: FAIL
schedule_testaarch64:x: FAIL

Sorry, your test job failed. Please get the details in the link.

ampresent commented 1 year ago

Not useful enough yet