scylladb / seastar

High performance server-side application framework
http://seastar.io
Apache License 2.0
8.39k stars 1.55k forks source link

Cross-sharded inheritance of scheduling group #2518

Closed cppden closed 4 weeks ago

cppden commented 1 month ago

From the code it's clear how current scheduling group is inherited for new tasks spawned by a task on current shard. But it seems the current scheduling group is lost when coroutine is invoked on another shard. Is it so or am I missing something? Thank you very much in advance!

avikivity commented 4 weeks ago

Why is it lost?

cppden commented 4 weeks ago

Task is passed between shards via one _qs queue and then finally executed in target shard in default scheduling group. But maybe I just could not follow the code properly. I am sorry if so. Can you please give me a hint where the scheduling group is restored?

avikivity commented 4 weeks ago

smp_message_queue::work_item, see task's initializer

cppden commented 4 weeks ago

❤️ Thanks a lot!