PKUOS - Pintos
Pintos source browser for PKU Operating System course
src
tests
vm
page-shuffle.c
Go to the documentation of this file.
1
/** Shuffles a 128 kB data buffer 10 times, printing the checksum
2
after each time. */
3
4
#include <
stdbool.h
>
5
#include "
tests/arc4.h
"
6
#include "
tests/cksum.h
"
7
#include "
tests/lib.h
"
8
#include "
tests/main.h
"
9
10
#define SIZE (128 * 1024)
11
12
static
char
buf
[
SIZE
];
13
14
void
15
test_main
(
void
)
16
{
17
size_t
i;
18
19
/* Initialize. */
20
for
(i = 0; i <
sizeof
buf
; i++)
21
buf
[i] = i * 257;
22
msg
(
"init: cksum=%lu"
,
cksum
(
buf
,
sizeof
buf
));
23
24
/* Shuffle repeatedly. */
25
for
(i = 0; i < 10; i++)
26
{
27
shuffle
(
buf
,
sizeof
buf
, 1);
28
msg
(
"shuffle %zu: cksum=%lu"
, i,
cksum
(
buf
,
sizeof
buf
));
29
}
30
}
arc4.h
cksum
unsigned long cksum(const void *b_, size_t n)
This is the algorithm used by the Posix ‘cksum’ utility.
Definition:
cksum.c:63
cksum.h
msg
void msg(const char *format,...)
Definition:
lib.c:28
lib.h
main.h
SIZE
#define SIZE
Shuffles a 128 kB data buffer 10 times, printing the checksum after each time.
Definition:
page-shuffle.c:10
buf
static char buf[SIZE]
Definition:
page-shuffle.c:12
test_main
void test_main(void)
tests/main.h
Definition:
page-shuffle.c:15
stdbool.h
shuffle
static void shuffle(struct value[], size_t)
Generated on Thu Nov 4 2021 19:31:01 for PKUOS - Pintos by
1.9.2