Kernel installation ------------------------------ = version of mainline Linux kernel = version of CKRM Note: It is expected that CKRM versions will change fairly rapidly. Hence once a CKRM version has been released for some , it will only be made available for future 's until the next CKRM version is released. 1. Patch Apply ckrm/kernel//ckrm-.patch to a mainline kernel tree with version . If CRBCE will be used, additionally apply the following patches, in order: delayacctg-.patch relayfs-.patch 2. Configure Select appropriate configuration options: a. for taskclasses General Setup-->Class Based Kernel Resource Management [*] Class Based Kernel Resource Management Resource Class File System (User API) [*] Class Manager for Task Groups Number of Tasks Resource Manager b. To test socket_classes and multiple accept queue controller General Setup-->Class Based Kernel Resource Management [*] Class Based Kernel Resource Management Resource Class File System (User API) [*] Class Manager for socket groups Multiple Accept Queues Resource Manager Device Drivers-->Networking Support-->Networking options--> [*] Network packet filtering (replaces ipchains) [*] IP: TCP Multiple accept queues support c. To test CRBCE later (requires 2a.) File Systems-->Pseudo filesystems--> Relayfs filesystem support (enable all sub fields) General Setup--> [*] Enable delay accounting 3. Build, boot into kernel 4. Enable rcfs # insmod /fs/rcfs/rcfs.ko # mount -t rcfs rcfs /rcfs This will create the directories /rcfs/taskclass and /rcfs/socketclass which are the "roots" of subtrees for creating taskclasses and socketclasses respectively. 5. Load numtasks and listenaq controllers # insmod /kernel/ckrm/ckrm_tasks.ko # insmod /kernel/ckrm/ckrm_listenaq.ko