Messages in this thread | | | Subject | sched: current instead rq->current | From | Colin Vidal <> | Date | Mon, 15 Aug 2016 21:30:35 +0200 |
| |
Hello,
At the beginning of __schedule (kernel/sched/core.c), the current task is get with rq->curr. I try to to understand why not directly using current instead?
Since a runqueue is specific to a CPU, it dosen't make sense to get the the current task of another CPU's runqueue. Yes?
I try the following of Linus's master branch
- int cpu; - cpu = smp_processor_id(); - rq = cpu_rq(cpu); - prev = rq->curr; + rq = cpu_rq(smp_processor_id()); + prev = current;
and it seems to work (only tested on x86-64), but... To simple?
Thanks!
Colin
| |