Thread (12 messages) 12 messages, 2 authors, 2013-02-16

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help