Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933500AbbBQJZF (ORCPT ); Tue, 17 Feb 2015 04:25:05 -0500 Received: from casper.infradead.org ([85.118.1.10]:59290 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756366AbbBQJZC (ORCPT ); Tue, 17 Feb 2015 04:25:02 -0500 Date: Tue, 17 Feb 2015 10:24:50 +0100 From: Peter Zijlstra To: Josh Poimboeuf Cc: Andrew Morton , Ingo Molnar , Jiri Kosina , Seth Jennings , linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/3] sched: add sched_task_call() Message-ID: <20150217092450.GI5029@twins.programming.kicks-ass.net> References: <20150216204436.GH5029@twins.programming.kicks-ass.net> <20150216220505.GB11861@treble.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150216220505.GB11861@treble.redhat.com> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1405 Lines: 36 On Mon, Feb 16, 2015 at 04:05:05PM -0600, Josh Poimboeuf wrote: > Yeah, I can understand that. I definitely want to avoid touching the > scheduler code. Basically I'm trying to find a way to atomically do the > following: > > if (task is sleeping) { > walk the stack > if (certain set of functions isn't on the stack) > set (or clear) a thread flag for the task > } > > Any ideas on how I can achieve that? So far my ideas are: So far stack unwinding has basically been a best effort debug output kind of thing, you're wanting to make the integrity of the kernel depend on it. You require an absolute 100% correctness of the stack unwinder -- where today it is; as stated above; a best effort debug output thing. That is a _big_ change. Has this been properly considered; has all the asm of the relevant architectures been audited? Are you planning on maintaining that level of audit for all new patches? Because the way you propose to do things, we'll end up with silent but deadly fail if the unwinder is less than 100% correct. No way to easily debug that, no warns, just silent corruption. Are you really really sure you want to go do this? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/