Re: [PATCH 4/7] x86/intel_rdt: Implement scheduling support for Intel RDT

From: Peter Zijlstra
Date: Wed May 06 2015 - 03:48:58 EST


On Mon, May 04, 2015 at 11:39:21AM -0700, Vikas Shivappa wrote:

> >>--- a/arch/x86/include/asm/switch_to.h
> >>+++ b/arch/x86/include/asm/switch_to.h
> >>@@ -8,6 +8,9 @@ struct tss_struct;
> >> void __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p,
> >> struct tss_struct *tss);
> >>
> >>+#include <asm/intel_rdt.h>
> >>+#define post_arch_switch(current) rdt_sched_in(current)
> >>+
> >> #ifdef CONFIG_X86_32
> >>
> >> #ifdef CONFIG_CC_STACKPROTECTOR
> >
> >>diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> >>index f9123a8..cacb490 100644
> >>--- a/kernel/sched/core.c
> >>+++ b/kernel/sched/core.c
> >>@@ -2241,6 +2241,7 @@ static struct rq *finish_task_switch(struct task_struct *prev)
> >> prev_state = prev->state;
> >> vtime_task_switch(prev);
> >> finish_arch_switch(prev);
> >>+ post_arch_switch(current);
> >> perf_event_task_sched_in(prev, current);
> >> finish_lock_switch(rq, prev);
> >> finish_arch_post_lock_switch();
> >
> >Not a word in the Changelog on this hook; that's double fail.
>
> will add the changelog. we want the current task which no other existing
> hook provides.

No.

1) two arch hooks right after one another is FAIL
1a) just 'fix' the existing hook
2) current is cheap and easily obtainable without passing it as
an argument
3) why do you need the hook in the first place?
3a) why can't you put this in __switch_to()? This is very much x86 only
code.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/