Linux Kernel Changes from 2.4.4 to 2.6.25.4 Measured in Lines of Code (LOC)


Overview

This document serves the purpose of measuring kernel changes since 2.4.4, in an attempt to understand what it means to port a 2.4.4 compatible application to the most recent kernel edition. That application is of course, Checkpointing/Restart As Kernel module (CRAK).

Following is a table that summarizes the relevant information:

File LOC 2.4.4 LOC 2.6.25.4 Comments
linux/kernel.h 134 440
linux/module.h 350 622
linux/fs.h 1453 2102
linux/wrapper.h 8 N/A
linux/binfmts.h 70 105
linux/file.h 101 124
linux/sys.h 31 30 Deprecated for 2.6
linux/net.h 229 346
linux/inet.h 53 53 Includes types.h in newer kernel
linux/devfs_fs_kernel. 246 N/A What was it good for? Purpose in CRAK?
linux/ipc.h 73 106
File LOC 2.4.4 LOC 2.6.25.4 Comments
asm/mman.h 39 42
asm/uaccess.h 592 27 get_user(), access_ok(): complexity moved
asm/page.h 124 27 Same as above
asm/ptrace.h 64 172 Moved: arch/um/include/sysdep-i386/ptrace.h
asm/param.h 25 23 Refactored
net/sock.h 1323 1385 Moved protocol specifics to ipv4,6
net/tcp.h 1824 1385
net/dst.h 163 300 More includes: rcupdate, jiffies. neighbors.h stays common
net/route.h 170 211 Added rt_cache stats
config.h Seems deprecated in both versions!