Atomic Tests Instructions ========================= Purpose: -------- This documents how to build and run the Atomic Writer and Reader tests. The atomic test is to verify if atomic read-write operation on a system works. The two programs are atomic_writer.c and atomic_reader.c. atomic_writer.c: is the "write" part of the test; and atomic_reader.c: is the "read" part of the test. Building the Tests ------------------ The two test parts are automatically built during configure and make process. But to build them individually, you can do in test/ directory: $ gcc atomic_writer $ gcc atomic_reader Running the Tests ----------------- $ atomic_writer -n -i $ atomic_reader -n -i Note** (1) "atomic_data" is the data file used by both the writer/reader in the current directory. (2) The value for -n should be the same for both the writer and the reader. (3) The values for options n and i should be positive integers. (4) For this version, the user has to provide both options -n and -i to run the writer and the reader. (5) If the user wants to run the writer for a long time, just provides a large number for -i. Examples -------- $ ./atomic_writer -n 10000 -i 5 Try to atomic write 10000 integers patterns 10000 time, and iterate the whole write process 5 times. $ ./atomic_reader -n 10000 -i 2 Try to atomic read 10000 integers patterns 10000 times, and iterate only once. A summary is posted at the end. If all atomic reads are correct, it will not show any read beyond "0 re-tries", that is all reads have succeeded in the first read attempt. Remark: You usually want the writer to iterate more times than the reader so that the writing will not finish before reading is done.