This file is indexed.

/usr/src/blcr-0.8.5/examples/README is in blcr-dkms 0.8.5-2.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
This directory contains a number of example programs, each in its
own directory with its own Makefile.

NOTE: These are not "supported" in the sense of providing any particular
value to you.  We provide these in case they might be usefull.  These
examples are not written as templates for developing BLCR client codes.
However, pthread_misc and io_bench do contain some of the basics.

We hope that in the future we can revise and expand the examples to
make them suitable as templates for developing BLCR client codes.


1) Example checkpoint "targets".  
   These are a few simple variations on a theme that can be used to
   play with BLCR.  You run an example and can checkpoint and restart
   it seeing that BLCR works as expected.
   * counting
     This is a simple program that counts from 0 to 119, with 1 second
     pauses between each count.  When restarting it will go back to the
     count value when the checkpoint was taken.
   * pipe_counting
     This program is a more complicated version of the basic counting
     example.  The process fork()s a child which does the printing of
     counts.  The actual count values are passed from parent to child
     through a pipe.  So, this example demonstates that BLCR will
     restore that pipe when checkpointing the two processes together.
   * pthread_counting
     This program is a multi-threaded (using pthreads) variation on
     the basic counting example.  In this case there are 3 threads that
     take turns producing output.  So, this demonstrates that BLCR is
     able to restore multi-threaded apps and their pthread synchronization
     primitives (a mutex and a condition variable in this case).
   * file_counting
     This example is similar to "counting", except that the output is
     to the file "outfile".  Because BLCR records the length of the file
     when checkpointing, a restart will rewind the file back to its
     pre-checkpoint length at each restart.  Therefore the file will
     never contain duplicate counts.

2) Example BLCR "clients".
   * pthread_misc
     This example initializes the BLCR library and registers a callback
     to be invoked at checkpoint time.  In this simple example the 
     callback is simply used to record a timestamp for the checkpoint,
     which is printed at restart.

3) Example benchmark
   * io_bench
     This program takes a single argument: a size in MiB.  It allocates
     (and touches) the corresponding amount of memory and then takes a
     checkpoint of itself.  It reports the allocated heap size and the
     amount of time required for the checkpoint.