This blog is updated in real-time on the Linux device Driver Development detailed (3rd edition).
In 2014.6.30, the preliminary completion of the 4-9 chapters, relative to the 2nd edition, the main changes in these chapters.
[F] is a revision or upgrade; [N] is a new point of knowledge; [D] is a deleted content
4th chapter "Linux kernel module"
[F] Correcting questions about the use of non-GPL license modules;
[F] correcting memory management on __exit modifier functions
The 5th Chapter "Linux file system and equipment file"
[F] revision of the file system and block device driver diagram;
[N] Increase the file operation call Graph applied to the drive;
[N] Increased acceptance of kernel uevent through NetLink;
[N] Increasing the example of traversing SYSFS;
[N] Add an example of Udev rules for Kingston U disk;
[F] Update udev rules to conform to the new version;
[N] Increase the interpretation of udevadm;
[N] Highlight Android Vold
6th Chapter "Character Device Driver"
[F] Update the definition of file_operations to upgrade the IOCTL () prototype;
[N] Added explanation of Linux ACCESS_OK () and Linux kernel security vulnerabilities;
[F] Correcting the coding style of globalmem;
[F] When the GLOBALMEM support more than 2 instances, from the direct 2 instances, upgrade to support n instances;
7th Chapter "concurrency control in Linux device drivers"
[N] drawing in depth on the various races under single and multi-core;
[N] Increases the explanation of the compilation disorder, the execution of the disorder, the compilation barrier and the memory barrier;
[N] Increased interpretation of arm ldrex/strex instructions;
[N] In-depth analysis of spin_lock single-core and multi-core usage scenarios;
[F] re-organizing the RCU of the explanation method and examples;
[F] Clearly indicate that the semaphore is outdated;
[F] Swap the semaphore used in the globalmem with the mutex;
8th chapter "Blocking and non-blocking I/O in Linux device drivers"
[N] New sequence diagram of blocking and non-plug;
[F] Correcting the coding style of Globalfifo;
[F] Fix globalfifo readable writable if judgment is while judgment;
[N] New timing diagram for select;
[N] New chapters of Epoll;
9th chapter "Asynchronous Notification and asynchronous I/O in Linux device drivers"
[F] amending the support for GLIBC AIO;
[F] fix for kernel AIO support;
[F] fixed drive AIO interface;
[D] Delete error instances that drive AIO support;
[N] Highlight c10k problem;