Is the Linux kernel preemptive or not?
There is a big difference between Understanding the Linux Kernel 2nd edition and 3rd edition. In the 2nd it is written that the Linux kernel is not preemptive but in the 3rd in the same paragraph nothing is said.
Yes, the kernel is preemptive.
It has been preemptive by default since the 2.6 branch. Of course, its preemption has not always been perfect, as the techniques for balancing preemption with process responsiveness depend heavily on the kernel load profile (which isn't the same for everyone).