Re: [tip:perf/core] perf/x86: Fix USER/KERNEL tagging of samples

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:

> > > +static unsigned long code_segment_base(struct pt_regs *regs)
> > > +{
> > > +#ifdef CONFIG_32BIT
> > > +     if (user_mode(regs) && regs->cs != __USER_CS)
> > > +             return get_segment_base(regs->cs);
> > > +#else
> > > +     if (test_thread_flag(TIF_IA32)) {
> > > +             if (user_mode(regs) && regs->cs != __USER32_CS)
> > > +                     return get_segment_base(regs->cs);
> > > +     }
> > > +#endif
> > > +     return 0;
> > > +}
> > 
> > Will this do the right thing for x32 mode? 
> 
> hpa? It looks like x32 has TIF_X32, but from the kernel's POV 
> its really just another 64bit process, so as long as we don't 
> trigger the TIF_IA32 case we'll just return 0.

Maybe add that as a comment or so, to stop future wondering. 
Maybe list all the states an x86 process can be in, and describe 
what we intend to do for each. That will make it easier to match 
up intent with actual code and will make it easier to keep it 
correct in the future as well.

> set_personality_ia32() looks like TIF_IA32 and TIF_X32 are 
> mutually exclusive, so I think we do the right thing.

Ok.

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux