Re: [RFC PATCH 2/5] powerpc: Exception hooks for context tracking subsystem
From: Li Zhong <hidden>
Date: 2013-02-16 09:41:31
Also in:
lkml
On Sun, 2013-02-10 at 15:10 +0100, Frederic Weisbecker wrote:
2013/2/1 Li Zhong [off-list ref]:quoted
This is the exception hooks for context tracking subsystem, including data access, program check, single step, instruction breakpoint, machine check, alignment, fp unavailable, altivec assist, unknown exception, whose handlers might use RCU. This patch corresponds to [PATCH] x86: Exception hooks for userspace RCU extended QS commit 6ba3c97a38803883c2eee489505796cb0a727122 Signed-off-by: Li Zhong <redacted>Looks good! I guess we should move exception_enter/exit definition to the generic code. They should be the same for all archs after all.
Indeed.
Also we are relying on user_mode(regs) but this may be buggy with some corner cases. For example if an exception happen after a call to user_exit()
I guess you mean user_enter() here, or am I confused?
(on syscall exit) but before we actually resume in userspace, the exception will exit in kernel mode from the context tracking POV. So instead on relying on the regs, which are not sync with the context tracking state, we should use something like: prev_state = exception_enter(); ... exception_exit(prev_state); Also preempt_schedule_irq() is concerned as well by this problem. So I should convert it to that scheme as well. I'm going to prepare some patches. Feel free to merge this patch in the powerpc tree, I'll do the conversion along the way.
Or if your patches gets merged earlier than these, I can update my code according to yours. Thanks, Zhong
Thanks.