In article <[EMAIL PROTECTED]>,
Alan Cox <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/