Re: [PATCH 1/1] Fix int1 recursion when no perf_bp_event is registeredy

From: Andy Lutomirski
Date: Thu Dec 10 2015 - 16:09:43 EST


On Thu, Dec 10, 2015 at 12:49 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> On Thu, 10 Dec 2015, Andy Lutomirski wrote:
>> On brief inspection, this smells like a microcode bug. Can you send
>> /proc/cpuinfo output?
>>
>> If this is the issue, I'm not sure we want to be in the business of
>> working around localized microcode bugs and, if we do, then I think we
>> should explicitly detect the bug and log about it.
>
> I think we should handle such stuff gracefully. Yes, we should log it
> and we also should check what the contents of the debug registers are.
>
> If dr7 has a break point enabled w/o perf having one installed then we
> know that someone did a horrible hackery ....

I mis-read this. I don't think this is the microcode bug.

Do we know what the actual problem is? Jeff, how did you trigger this?

If it's lazy DR switching (which I haven't looked at the details of),
then it seems that this could just be triggered by some unfortunate
combination of perf config and context switching). But, if so, then I
think that the proposed fix is wrong -- shouldn't we fix dr7 rather
than fudging RF to work around this instance of the problem? After
all, if we're hitting this condition in a tight userspace loop, we're
going to destroy performance unless we fix dr7.

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/