Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there anyone that can tell me why, on a preemptive kernel, PAE would not work? This question is an exam question, however I haven't got a clue why it would not work.

share|improve this question
Do they not work together? CONFIG_X86_PAE doesn't seem to conflict with any of the CONFIG_PREEMPT settings. – Gilles Jun 20 '11 at 21:47
up vote 4 down vote accepted

The clue likely lies here, from O'Reilly's Understanding the Linux Kernel:

"Some real-time operating systems feature preemptive kernels, which means that a process running in Kernel Mode can be interrupted after any instruction, just as it can in User Mode. The Linux kernel is not preemptive, which means that a process can be preempted only while running in User Mode; nonpreemptive kernel design is much simpler, since most synchronization problems involving the kernel data structures are easily avoided (see the section "Nonpreemptability of Processes in Kernel Mode" in Chapter 11, Kernel Synchronization)."

I'm betting it's difficult to keep page tables in proper order when user processes can interrupt kernel processes.

share|improve this answer
That's quite an old book, predating preemptivity in the Linux kernel by several years. – Gilles Jun 20 '11 at 21:44
Can you elaborate on why it would be difficult to keep the page tables in the proper order because I don't see the link with physical address translation :p? – Lucas Kauffman Jun 21 '11 at 11:19
Wait is it more like this : preempting is in user mode, PAE is in kernel mode. If there is preempting how will the OS be able to keep all the page changes correctly ? And if it wants to do that, it will have to do A LOT of switching between kernel and user mode. Therefor it is not feasible to use PAE on a preemtive kernel ? – Lucas Kauffman Jun 21 '11 at 11:40

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.