lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 27 Jan 2015 20:42:39 -0500 From: Steven Rostedt <rostedt@...dmis.org> To: Frederic Weisbecker <fweisbec@...il.com> Cc: Ingo Molnar <mingo@...nel.org>, Peter Zijlstra <peterz@...radead.org>, LKML <linux-kernel@...r.kernel.org>, Linus Torvalds <torvalds@...ux-foundation.org> Subject: Re: [RFC PATCH 2/4] sched: Use traced preempt count operations to toggle PREEMPT_ACTIVE On Wed, 28 Jan 2015 01:24:10 +0100 Frederic Weisbecker <fweisbec@...il.com> wrote: > d1f74e20b5b064a130cd0743a256c2d3cfe84010 turned PREEMPT_ACTIVE modifiers > to use raw untraced preempt count operations. Meanwhile this prevents > from debugging and tracing preemption disabled if we pull that > responsibility to schedule() callers (see following patches). > > Is there anything we can do about that? > I'm trying to understand how you solved the recursion issue with preempt_schedule()? Here's what happens: preempt_schedule() preempt_count_add() -> gets traced by function tracer function_trace_call() preempt_disable_notrace() [...] preempt_enable_notrace() -> sees NEED_RESCHED set preempt_schedule() preempt_count_add() -> gets traced function_trace_call() preempt_disable_notrace() preempt_enable_notrace() -> sees NEED_RESCHED set [etc etc until BOOM!] Perhaps if you can find a way to clear NEED_RECHED before disabling preemption, then it would work. But I don't see that in the patch series. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists