c5b309ff07
Main changes: - COW optimization for safecopy. - safemap, a grant-based interface for sharing memory regions between processes. - Integration with safemap and complete rework of DS, supporting new data types natively (labels, memory ranges, memory mapped ranges). - For further information: http://wiki.minix3.org/en/SummerOfCode2009/MemoryGrants Additional changes not included in the original Wu's branch: - Fixed unhandled case in VM when using COW optimization for safecopy in case of a block that has already been shared as SMAP. - Better interface and naming scheme for sys_saferevmap and ds_retrieve_map calls. - Better input checking in syslib: check for page alignment when creating memory mapping grants. - DS notifies subscribers when an entry is deleted. - Documented the behavior of indirect grants in case of memory mapping. - Test suite in /usr/src/test/safeperf|safecopy|safemap|ds/* reworked and extended. - Minor fixes and general cleanup. - TO-DO: Grant ids should be generated and managed the way endpoints are to make sure grant slots are never misreused. |
||
---|---|---|
.. | ||
down | ||
dstest.c | ||
inc.h | ||
Makefile | ||
README | ||
run | ||
subs.c | ||
system.conf |
Test Program for DataServer How to run ========== 1. Type `make run` to prepare and run test. 2. When done testing, type `make clean` to clean up. How the test works ================== `dstest` tests the new DS API (excluding ds_subscribe() and ds_check()). test_u32, test_str, test_mem, test_label, and test_map test U32, STR, MEM, LABEL and MAP type respectively. Invalid invokation is tested as well. Erroneous conditions are tested only once. For example, publishing an entry with same label name, but without DSF_OVERWRITE set, is tested in test_u32 and nowhere else again. Type-specific features are always tested. `subs` tests ds_subscribe() and ds_check(). The server subscribes to a U32 type. When `dstest` runs, `subs` catches all the updates.