Commit | Line | Data |
---|---|---|
ff13209b OO |
1 | RAR Handler (memrar) Driver TODO Items |
2 | ====================================== | |
3 | ||
d7a75e19 | 4 | Maintainer: Eugene Epshteyn <eugene.epshteyn@intel.com> |
ff13209b OO |
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 |