Re: Linux 2.4.1-ac15

Linus Torvalds (torvalds@transmeta.com)
21 Feb 2001 18:27:00 -0800


In article <E14VXxY-0001wy-00@the-village.bc.nu>,
Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>> This is a while back, but I thought the solution Philipp and I came up
>> with was to simply used a rw semaphore for this, which was taken (read
>> only) on page fault if we have to scan the exception table.
>
>We can take page faults in interrupt handlers in 2.4 so I had to use a
>spinlock, but that sounds the same

Umm? The above doesn't really make sense.

We can take a page fault on the kernel region with the lazy page
directory filling, but that code will just set the PGD entry and exit
without taking any lock at all. So it basically ends up being an
"invisible" event.

Now, if an interrupt handler accesses kernel memory that just isn't
there, that has _always_ taken a page fault, and that case is not new to
2.4.x. In that case you would take the exception table lock, but that is
true in both 2.2.x and in 2.4.x.

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