linux.conf.au, January 2003 PRINCIPLES: Common Library Functions kmalloc(size, flags) & kfree(ptr) Physically contiguous memory (< 128k). If flags == GFP_ATOMIC, can be used in interrupts vmalloc(size) & vfree(ptr) Virtually contiguous memory (< total memory). Can sleep, so can't be used in interrupts copy_from_user/get_user & copy_to_user/put_user Get memory from process (current) into kernel, and put back Badly Broken Interface Can sleep printk(format, ... ) Like printf(): print to console. Not for chit-chat! udelay(int usecs) & mdelay(int msecs) Small delays inside the kernel. include/linux/list.h include/linux/hash.h Common routines