Re: [PATCH v9 2/3] trace,x86: add x86 irq vector tracepoints

From: H. Peter Anvin
Date: Mon Feb 18 2013 - 23:41:12 EST


On 02/18/2013 08:24 PM, Steven Rostedt wrote:
> On Mon, 2013-02-18 at 15:49 -0800, H. Peter Anvin wrote:
>
>> What about the following:
>>
>>> The base address of the IDT doesn't generally change... the one
>>> exception is when we do the funny NMI workaround.
>>>
>>> For that reason, I would be happier if we just restored the standard
>>> value instead of saving/restoring stuff.
>
> Basically what you are saying, is to have his code do what the NMI code
> originally did, but can't now, due to there being another IDT table
> (from Seiji's changes).
>
> static void switch_to_trace_idt(void *arg)
> {
> load_idt(&trace_idt_descr);
> }
>
> static void restore_original_idt(void *arg)
> {
> load_idt(this_cpu_ptr(&idt_descr));
> }
>

Yes. If there needs to be handshaking about whose IDT is currently
installed I'm much happier if that handshake is done explicitly, rather
than as a save/restore function which will break when we have to add
another one which for whatever reason isn't nesting.

-hpa


--
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/