Messages in this thread | | | Date | Fri, 22 Jun 2018 10:11:46 +0200 | From | Peter Zijlstra <> | Subject | Re: [RFC PATCH 00/16] x86/split_lock: Enable #AC exception for split locked accesses |
| |
On Thu, Jun 21, 2018 at 03:42:03PM -0700, Fenghua Yu wrote: > On Thu, Jun 21, 2018 at 03:18:19PM -0700, Dave Hansen wrote: > > On 06/21/2018 03:08 PM, Peter Zijlstra wrote: > > > On Thu, Jun 21, 2018 at 03:00:03PM -0700, Fenghua Yu wrote: > > >> The control knob for kernel is to choose re-executing the faulting > > >> instruction (default) or kernel panic. Kernel panic may be useful in hard > > >> real time which has less tolerant to bad performance. > > > The kernel should never trigger this, ever. Any #AC is a plain bug and > > > should be fixed. So unconditional WARN+disable is suffient. > > > > It sounds like we need to start with that functionality and then if > > Fenghua wants to do more, we have add-on patches that can be evaluated > > by themselves. > > For split lock in kernel, by default, I just do warning, disable feature > in #AC handler, continue to execute the faulting instruction, and re-enable > #AC for split lock after a delay. This is the default behavior in the > current patches. > > By "WAR+disable", you mean I just do this default behavior and remove the > control knob?
No, remove all that broken delay crap, remove the knob. Basically remove everything.
The handler really should be:
do_handle_ac_trap() { if (user_mode(regs)) { send_signal(SIGBUS); return; }
WARN_ON(1); disable_ac_on_all_cpus(); }
done. No broken delay code, no nothing.
| |