Ossama Othman | ff13209 | 2010-03-15 16:23:56 -0700 | [diff] [blame] | 1 | RAR Handler (memrar) Driver TODO Items |
| 2 | ====================================== |
| 3 | |
Ossama Othman | d7a75e1 | 2010-07-19 09:32:39 +0100 | [diff] [blame] | 4 | Maintainer: Eugene Epshteyn <eugene.epshteyn@intel.com> |
Ossama Othman | ff13209 | 2010-03-15 16:23:56 -0700 | [diff] [blame] | 5 | |
| 6 | memrar.h |
| 7 | -------- |
| 8 | 1. This header exposes the driver's user space and kernel space |
| 9 | interfaces. It should be moved to <linux/rar/memrar.h>, or |
| 10 | something along those lines, when this memrar driver is moved out |
| 11 | of `staging'. |
| 12 | a. It would be ideal if staging/rar_register/rar_register.h was |
| 13 | moved to the same directory. |
| 14 | |
| 15 | memrar_allocator.[ch] |
| 16 | --------------------- |
| 17 | 1. Address potential fragmentation issues with the memrar_allocator. |
| 18 | |
| 19 | 2. Hide struct memrar_allocator details/fields. They need not be |
| 20 | exposed to the user. |
| 21 | a. Forward declare struct memrar_allocator. |
| 22 | b. Move all three struct definitions to `memrar_allocator.c' |
| 23 | source file. |
| 24 | c. Add a memrar_allocator_largest_free_area() function, or |
| 25 | something like that to get access to the value of the struct |
| 26 | memrar_allocator "largest_free_area" field. This allows the |
| 27 | struct memrar_allocator fields to be completely hidden from |
| 28 | the user. The memrar_handler code really only needs this for |
| 29 | statistic gathering on-demand. |
| 30 | d. Do the same for the "capacity" field as the |
| 31 | "largest_free_area" field. |
| 32 | |
| 33 | 3. Move memrar_allocator.* to kernel `lib' directory since it is HW |
| 34 | neutral. |
| 35 | a. Alternatively, use lib/genalloc.c instead. |
| 36 | b. A kernel port of Doug Lea's malloc() implementation may also |
| 37 | be an option. |
| 38 | |
| 39 | memrar_handler.c |
| 40 | ---------------- |
| 41 | 1. Split user space interface (ioctl code) from core/kernel code, |
| 42 | e.g.: |
| 43 | memrar_handler.c -> memrar_core.c, memrar_user.c |