Пример #1
0
/* dirty a random set of map->size pages. (some may be faulted >once) */
static void dirty_random_pages(struct map *map)
{
	char *p = map->ptr;
	unsigned int i, nr;

	nr = nr_pages(map);

	for (i = 0; i < nr; i++)
		p[(rand() % nr) * page_size] = rand();
}
Пример #2
0
static void dirty_whole_mapping(struct map *map)
{
	char *p = map->ptr;
	unsigned int i, nr;

	nr = nr_pages(map);

	for (i = 0; i < nr; i++)
		p[i * page_size] = rand();
}
Пример #3
0
static void dirty_mapping_reverse(struct map *map)
{
	char *p = map->ptr;
	unsigned int i, nr;

	nr = nr_pages(map) - 1;

	for (i = nr; i > 0; i--)
		p[i * page_size] = rand();
}
Пример #4
0
/* fault in a random set of map->size pages. (some may be faulted >once) */
static void read_random_pages(struct map *map)
{
	char *p = map->ptr;
	unsigned int i, nr;
	char buf[page_size];

	nr = nr_pages(map);

	for (i = 0; i < nr; i++)
		memcpy(buf, p + ((rand() % nr) * page_size), page_size);
}
Пример #5
0
static void read_whole_mapping(struct map *map)
{
	char *p = map->ptr;
	unsigned int i, nr;
	char buf[page_size];

	nr = nr_pages(map);

	for (i = 0; i < nr; i++)
		memcpy(buf, p + (i * page_size), page_size);
}
Пример #6
0
static void read_mapping_reverse(struct map *map)
{
	char *p = map->ptr;
	unsigned int i, nr;
	char buf[page_size];

	nr = nr_pages(map) - 1;

	for (i = nr; i > 0; i--)
		memcpy(buf, p + (i * page_size), page_size);
}
Пример #7
0
static void dirty_every_other_page(struct map *map)
{
	char *p = map->ptr;
	unsigned int i, nr, first;

	nr = nr_pages(map);

	first = rand_bool();

	for (i = first; i < nr; i+=2)
		p[i * page_size] = rand();
}
Пример #8
0
static void dirty_mapping_reverse(struct map *map)
{
	unsigned int i, nr;

	nr = nr_pages(map) - 1;

	for (i = nr; i > 0; i--) {
		char *p = map->ptr + (i * page_size);
		mark_page_rw(map, p);
		*p = rnd();
	}
}
Пример #9
0
static void dirty_whole_mapping(struct map *map)
{
	unsigned int i, nr;

	nr = nr_pages(map);

	for (i = 0; i < nr; i++) {
		char *p = map->ptr + (i * page_size);
		mark_page_rw(map, p);
		*p = rnd();
	}
}
Пример #10
0
static void read_every_other_page(struct map *map)
{
	char *p = map->ptr;
	unsigned int i, nr, first;
	char buf[page_size];

	nr = nr_pages(map);

	first = rand_bool();

	for (i = first; i < nr; i+=2)
		memcpy(buf, p + (i * page_size), page_size);
}
Пример #11
0
/* dirty a random set of map->size pages. (some may be faulted >once) */
static void dirty_random_pages(struct map *map)
{
	unsigned int i, nr;

	nr = nr_pages(map);

	for (i = 0; i < nr; i++) {
		off_t offset = (rnd() % nr) * page_size;
		char *p = map->ptr + offset;
		mark_page_rw(map, p);
		*p = rnd();
	}
}
Пример #12
0
static void dirty_every_other_page(struct map *map)
{
	unsigned int i, nr, first;

	nr = nr_pages(map);

	first = RAND_BOOL();

	for (i = first; i < nr; i+=2) {
		char *p = map->ptr + (i * page_size);
		mark_page_rw(map, p);
		*p = rnd();
	}
}