[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150105164447.GG29390@twins.programming.kicks-ass.net>
Date: Mon, 5 Jan 2015 17:44:47 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Andy Lutomirski <luto@...capital.net>
Cc: Stephane Eranian <eranian@...gle.com>,
Ingo Molnar <mingo@...hat.com>, Jiri Olsa <jolsa@...hat.com>,
root <chenggang.qin@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
秦承刚(承刚) <chenggang.qcg@...bao.com>,
Wu Fengguang <fengguang.wu@...el.com>,
Mike Galbraith <efault@....de>,
Namhyung Kim <namhyung@...il.com>,
Arjan van de Ven <arjan@...ux.intel.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
David Ahern <dsahern@...il.com>,
Paul Mackerras <paulus@...ba.org>,
秦承刚(承刚)
<chenggang.qcg@...baba-inc.com>,
Yanmin Zhang <yanmin.zhang@...el.com>
Subject: Re: [PATCH 1/2] perf: Move task_pt_regs sampling into arch code
On Mon, Jan 05, 2015 at 08:13:49AM -0800, Andy Lutomirski wrote:
> > Just wondering how bad it would be to fill out the actual pt_regs that
> > was previously partially initialized?
>
> Bad, for at least two reasons.
>
> One is that we don't actually know which regs are initialized. bx,
> bp, r12 etc are particularly bad in this regard, due to the FORK_LIKE
> mechanism and similar optimizations.
Right, but you need to deal with that anyhow.
> The other is that the uninitialized part of task_pt_regs can be used
> for something else entirely. If we have a syscall instruction
> immediately followed by a regular interrupt, then the interrupt's
> hardware frame will overlap task_pt_regs. (I'm not going to claim
> that this design is sensible, but it is what it is. IIRC Denys
> Vlasenko had some patches to partially clean this up.)
Ah, urgh. Yes painful that.
> It would be possible to rework the code to avoid an extra pt_regs
> copy, but I don't see an obvious way to do it cleanly.
Yeah, we'll see how this works, I was just curious on the exact need for
the copy, but if as you say, the original structure might not even exist
properly (even though we have a pointer to it) that's bad (TM).
--
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