This is a terrific book to start turning yourself from good to great in a specific area of the Linux kernel, because it focuses on internals aspects without providing too much additional context. For exactly the same reason, it's probably not such a useful book if you want to go from mediocre to good, but this seems by design. I think this is the right choice for such a subject matter.
The book is written for 2.6, and contains quite a few code samples. The kernel has advanced a lot since then, however, and so one should take the specific examples with a pinch of salt. However, it does provide a catalyst to ask further questions to find out more information about how the kernel works now. Most of the overall fundamentals still remain correct, so one should probably take this book as a high level guide, and less as an in depth dig into kernel code. The only bits which are a bit more hairy are 32-bit specific aspects, which are not marked as such due to 32-bit's ubiquity when the book was originally written. Most of these are simple enough to pick out (eg. a lot of highmem concepts go out the window), but some are not.
"Container"-type concepts that are now critical to the Linux kernel are more or less missing entirely due to the age of the content (for example cgroups, namespaces, etc). Since these now are critical parts of the operating system whether you directly use them or not (eg. the memory workingset is cgroup-based), this is pretty important, although many of the existing principles discussed do transpose acceptably.
I'd like to see a version of the book with updated concepts from more recent kernels (4.0+), which would allow one to have more confidence that (say) mm, scheduling, or synchronisation concepts and primitives still are the same now. As it is, one can't be entirely sure, and has to manually dig in a bit to see how things have changed.
I'd suggest picking the chapters that interest you and discarding the ones that don't, or coming back to them later. Where previous concepts are reused, the book makes sure to note where to look them up, so it's easy enough to dart back and read a smaller subsection out of a larger chapter which you've skipped.
Overall though, an essential book if you want to become proficient at introspecting into Linux-specific kernel behaviour, or debugging kernel issues, from an existing background where you are in general familiar with operating systems concepts.