Re: [PATCH 3/4] x86/intel lbr: down with test_thread_flag(TIF_IA32)

From: Dmitry Safonov
Date: Wed Apr 20 2016 - 09:58:54 EST


On 04/20/2016 02:21 PM, Peter Zijlstra wrote:
On Thu, Apr 14, 2016 at 12:29:12PM -0700, Andy Lutomirski wrote:
On Thu, Apr 14, 2016 at 11:10 AM, Dmitry Safonov <dsafonov@xxxxxxxxxxxxx> wrote:
@@ -724,7 +727,7 @@ static int branch_type(unsigned long from, unsigned long to, int abort)
* on 64-bit systems running 32-bit apps
*/
#ifdef CONFIG_X86_64
- is64 = kernel_ip((unsigned long)addr) || !test_thread_flag(TIF_IA32);
+ is64 = kernel_ip((unsigned long)addr) || user_64bit_mode(regs);
Peterz, looking at this some more, would it make sense to pass
user_regs and interrupt_regs (or whatever we'd call it) all the way
through to here?
Urgh; again, wtf wasn't I Cc'ed to these patches?

Sorry for that - that was my unintentional miss on git-send-email.

And not sure; if we never need the user regs, calling
perf_get_user_regs() to set all that up seems like a massive waste of
cycles.