Re: [tip:perfcounters/core] perf_counter: x86: Fix call-chain support to use NMI-safe methods
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- Subject: Re: [tip:perfcounters/core] perf_counter: x86: Fix call-chain support to use NMI-safe methods
- From: "H. Peter Anvin" <hpa@xxxxxxxxx>
- Date: Mon, 15 Jun 2009 12:32:23 -0700
- Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxx>, mingo@xxxxxxxxxx, paulus@xxxxxxxxx, acme@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, penberg@xxxxxxxxxxxxxx, vegard.nossum@xxxxxxxxx, efault@xxxxxx, jeremy@xxxxxxxx, npiggin@xxxxxxx, tglx@xxxxxxxxxxxxx, linux-tip-commits@xxxxxxxxxxxxxxx
- In-reply-to: <20090615192720.GA9056@Krystal>
- References: <tip-74193ef0ecab92535c8517f082f1f50504526c9b@xxxxxxxxxxxxxx> <alpine.LFD.2.01.0906151007560.3305@xxxxxxxxxxxxxxxxxxxxx> <20090615171845.GA7664@xxxxxxx> <alpine.LFD.2.01.0906151029160.3305@xxxxxxxxxxxxxxxxxxxxx> <4A369508.2090707@xxxxxxxxx> <20090615184858.GD6520@Krystal> <1245091917.6741.185.camel@laptop> <20090615185907.GF6520@Krystal> <1245092561.6741.205.camel@laptop> <4A369CD8.3090505@xxxxxxxxx> <20090615192720.GA9056@Krystal>
- User-agent: Thunderbird 2.0.0.21 (X11/20090320)
Mathieu Desnoyers wrote:
>>>
>> Writing control registers is serializing, so it's a lot more expensive
>> than writing a normal register; my *guess* is that it will be on the
>> order of 100-200 cycles.
>>
>> That is not based on any actual information.
>>
>
> Then how about just writing to the cr2 register *if* it has changed
> while the NMI handler was running ?
>
> if (unlikely(read_cr2() != saved_cr2)))
> write_cr2(saved_cr2)
>
> Mathieu
>
That works fine, obviously, and although it's probably overkill it's
also a trivially cheap optimization.
-hpa
--
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]