nvml-sys 0.0.6

A low-level FFI wrapper around the Persistent Memory Development Kit, PMDK (formerly NVML) and its libraries, including libpmem, libpmemobj and others. Currently tracks master after version 1.3.1.
Persistent Memory Development Kit

This is src/test/vmmalloc_fork/README.

This directory contains a multithreaded unit test for libvmmalloc fork() support.

The program in vmmalloc_fork.c takes: 'operation', 'nfork' and 'nthread' arguments.
Operation can be:
    c - child process is a duplicate of the parent
    e - child process calls execl() immediately after fork

The test allocates some amount of memory first, then spawns a number of threads,
that also allocate memory in a loop.  While the new threads are running, the main
thread creates a new process by calling fork().

If 'operation' is 'c', then each child process performs the same
actions as parent, spawning new threads and a new process, until some predefined
number of processes is reached.  'nfork' argument defines a maximum height of
the process tree, so eventually, there could be 2^nfork processes created,
each running 'nthread' threads.

For example:
	./vmmalloc_fork c 4 2

This will create 16 (2^4) processes, each running 3 threads (1 + 2).

If 'operation' is 'e', then when the 'nfork' limit is reached, the child process
calls execl() immediately after fork(), executing another program.