lkml.org 
[lkml]   [2003]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: idt change in a running kernel? what locking?
Catalin BOIE wrote:
> What may happen if I modify idt on a running kernel?
> It's lock_kernel enough?

lock_kernel won't help at all. It doesn't disable interrupts.

It's more likely, you want to use get_cpu()/put_cpu() to prevent the
current kernel thread from being pre-empted to a different CPU.

> Of course that the new location contain a valid idt table.

If the new table has the same entries as the old one for all
interrupts which are enabled it should be fine. "lidt" is an atomic
operation with respect to interrupts.

If you are intending to change idt on all CPUs, you'll need something
more complicated.

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

\
 
 \ /
  Last update: 2005-03-22 13:49    [W:0.563 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site