44 lines
1.6 KiB
Plaintext
44 lines
1.6 KiB
Plaintext
RAR Handler (memrar) Driver TODO Items
|
|
======================================
|
|
|
|
Maintainer: Eugene Epshteyn <eugene.epshteyn@intel.com>
|
|
|
|
memrar.h
|
|
--------
|
|
1. This header exposes the driver's user space and kernel space
|
|
interfaces. It should be moved to <linux/rar/memrar.h>, or
|
|
something along those lines, when this memrar driver is moved out
|
|
of `staging'.
|
|
a. It would be ideal if staging/rar_register/rar_register.h was
|
|
moved to the same directory.
|
|
|
|
memrar_allocator.[ch]
|
|
---------------------
|
|
1. Address potential fragmentation issues with the memrar_allocator.
|
|
|
|
2. Hide struct memrar_allocator details/fields. They need not be
|
|
exposed to the user.
|
|
a. Forward declare struct memrar_allocator.
|
|
b. Move all three struct definitions to `memrar_allocator.c'
|
|
source file.
|
|
c. Add a memrar_allocator_largest_free_area() function, or
|
|
something like that to get access to the value of the struct
|
|
memrar_allocator "largest_free_area" field. This allows the
|
|
struct memrar_allocator fields to be completely hidden from
|
|
the user. The memrar_handler code really only needs this for
|
|
statistic gathering on-demand.
|
|
d. Do the same for the "capacity" field as the
|
|
"largest_free_area" field.
|
|
|
|
3. Move memrar_allocator.* to kernel `lib' directory since it is HW
|
|
neutral.
|
|
a. Alternatively, use lib/genalloc.c instead.
|
|
b. A kernel port of Doug Lea's malloc() implementation may also
|
|
be an option.
|
|
|
|
memrar_handler.c
|
|
----------------
|
|
1. Split user space interface (ioctl code) from core/kernel code,
|
|
e.g.:
|
|
memrar_handler.c -> memrar_core.c, memrar_user.c
|