Skip to content

Commit

Permalink
doc: prepare for 0.2 release
Browse files Browse the repository at this point in the history
  • Loading branch information
Andy Rudoff committed Jul 1, 2015
1 parent d8c2f2b commit a0fb4f5
Show file tree
Hide file tree
Showing 2 changed files with 89 additions and 40 deletions.
14 changes: 7 additions & 7 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
Mon Jun 22 2015 Andy Rudoff <andy.rudoff@intel.com>
Tue Jun 30 2015 Andy Rudoff <andy.rudoff@intel.com>

* Version 0.2
NVML now consists of six libraries:
libpmem (basic pmem flushing, etc)
libpmemblk, libpmemlog, libpmemobj (transactions)
libvmem, libvmmalloc (volatile use of pmem)
- libpmem (basic flushing, etc)
- libpmemblk, libpmemlog, libpmemobj (transactions)
- libvmem, libvmmalloc (volatile use of pmem)
The "pmempool" command is available for managing pmem files.
Man pages for all the above are complete.
The only things documented in man pages but not implemented are:
pmem sets (ability to spread a pool over a set of files)
replication (coming for libpmemobj)
The pmempool command's support for pmemobj pools is minimal for now.
- pmem sets (ability to spread a pool over a set of files)
- replication (coming for libpmemobj)
The pmempool command does not yet support pmemobj type pools.

Thu Sep 11 2014 Andy Rudoff <andy.rudoff@intel.com>

Expand Down
115 changes: 82 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,44 @@ nvml: Linux NVM Library
This is the top-level README.md the Linux NVM Library.
For more information, see http://pmem.io.

Please see the file LICENSE for information on how this library is licensed.
|**NOTE**|
|:------:|
|**These libraries are not yet considered production quality, but they are getting close! We expect to validate them to production quality by the end of September, 2015. The libraries are currently validated to "early access" quality, usable for development of pmem-aware applications. You are encouraged to try them out and give us feedback via our [Google group](http://groups.google.com/group/pmem).**|

This tree contains libraries for using Non-Volatile Memory (NVM).
Here you'll find:
### The Libraries ###

Please see the file [LICENSE](https://github.com/pmem/nvml/blob/master/LICENSE) for information on how this library is licensed.

This tree contains a collection of libraries for using Non-Volatile Memory
(NVM). There are currently six libraries:

* **libpmem** -- basic pmem operations like flushing
* **libpmemblk**, **libpmemlog**, **libpmemobj** -- pmem transactions
* **libvmem**, **libvmmalloc** -- volatile use of pmem

These libraries are described in more detail on the
[pmem web site](http://pmem.io). There you'll find man pages, examples,
and tutorials.

**Currently, these libraries only work on 64-bit Linux.**

### Pre-Built Packages ###

If you want to install these libraries to try them out of your system, you can
either install pre-built packages, which we build for every stable release, or
clone the tree and build it yourself.

Builds are tagged something like `0.2+b1`, which means
*Build 1 on top of version 0.2* and `0.2-rc3`, which means
*Release Candidate 3 for version 0.2*. **Stable** releases
are the simpler *major.minor* tags like `0.2`. To find
pre-build packages, check the Downloads associated with
the stable releases on the
[github release page](https://github.com/pmem/nvml/releases).

### Building The Source ###

The source tree is organized as follows:

* **doc** -- man pages describing each library contained here
* **src** -- the source for the libraries
Expand All @@ -26,42 +60,26 @@ the build system. See the **before_install:** rules in the
file at the top level of the repository to get an idea what packages
were required to build on the _travis-ci_ (Ubuntu-based) systems.

Once the build system is setup, the NVM Library is built using
this command at the top level:
```
$ make
```

To build and run the unit tests:
```
$ make check
```

To run a specific subset of tests, run for example:
To build the latest development version, just clone this tree and build the master branch:
```
$ make check TEST_TYPE=short TEST_BUILD=debug TEST_FS=pmem
$ git clone https://github.com/pmem/nvml
$ cd nvml
```

To modify the timeout which is available for **check** type tests, run:
```
$ make check TEST_TIME=1m
```
This will set the timeout to 1 minute.

Please refer to the **src/test/README** for more details on how to
run different types of tests.

To compile this library with enabled support for the PM-aware version
of [Valgrind](https://github.com/pmem/valgrind), supply the compiler
with the **USE_VALGRIND** flag, for example:
Once the build system is setup, the NVM Library is built using
this command at the top level:
```
$ make EXTRA_CFLAGS=-DUSE_VALGRIND
$ make
```

To install this library into the standard locations
(/usr/lib, /usr/include, /usr/share/man), become root and:
Once the make completes, all the libraries are built and the examples
under `src/examples` are built as well. You can play with the library
within the build tree, or install it locally on your machine. Installing
the library is more convenient since it installs man pages and libraries
in the standard system locations:
```
$ make install
(as root...)
# make install
```

To install this library into other locations, you can use
Expand All @@ -88,6 +106,37 @@ To build dpkg packages on Debian-based distributions:
```
**Prerequisites:** devscripts

### Testing the Libraries ###

To build and run the unit tests:
```
$ make check
```

To run a specific subset of tests, run for example:
```
$ make check TEST_TYPE=short TEST_BUILD=debug TEST_FS=pmem
```

To modify the timeout which is available for **check** type tests, run:
```
$ make check TEST_TIME=1m
```
This will set the timeout to 1 minute.

Please refer to the **src/test/README** for more details on how to
run different types of tests.

To compile this library with enabled support for the PM-aware version
of [Valgrind](https://github.com/pmem/valgrind), supply the compiler
with the **USE_VALGRIND** flag, for example:
```
$ make EXTRA_CFLAGS=-DUSE_VALGRIND
```


### Contacts ###

For more information on this library,
contact Andy Rudoff (andy.rudoff@intel.com).
contact Andy Rudoff (andy.rudoff@intel.com) or post to our
[Google group](http://groups.google.com/group/pmem).

0 comments on commit a0fb4f5

Please sign in to comment.