diff --git a/Task13/task13.txt b/Task13/task13.txt new file mode 100644 index 0000000..96dfa8b --- /dev/null +++ b/Task13/task13.txt @@ -0,0 +1,28 @@ +This is Task 13 of the Eudyptula Challenge +------------------------------------------ + +Weren't those lists fun to play with? You should get used to them, they +are used all over the kernel in lots of different places. + +Now that we are allocating a structure that we want to use a lot of, we +might want to start caring about the speed of the allocation, and not +have to worry about the creation of those objects from the "general" +memory pools of the kernel. + +This task is to take the code written in task 12, and cause all memory +allocated from the 'struct identity' to come from a private slab cache +just for the fun of it. + +Instead of using kmalloc() and kfree() in the module, use +kmem_cache_alloc() and kmem_cache_free() instead. Of course this means +you will have to initialize your memory cache properly when the module +starts up. Don't forget to do that. You are free to name your memory +cache whatever you wish, but it should show up in the /proc/slabinfo +file. + +Don't send the full module for this task, only a patch with the diff +from task 12 showing the lines changed. This means you will have to +keep a copy of your 12 task results somewhere to make sure you don't +overwrite them. + +Also show the output of /proc/slabinfo with your module loaded.