flexnbd: Add more madvise() hints, both for mirroring out and normal operation.

This is hopefully going to reduce flexnbd rss
This commit is contained in:
nick
2013-05-28 14:16:49 +01:00
parent e548cc53c8
commit a5a7d45355
2 changed files with 13 additions and 2 deletions

View File

@@ -551,6 +551,12 @@ void* client_serve(void* client_uncast)
),
"Couldn't open/mmap file %s: %s", client->serve->filename, strerror( errno )
);
FATAL_IF_NEGATIVE(
madvise( client->mapped, client->serve->size, MADV_SEQUENTIAL ),
SHOW_ERRNO( "Failed to madvise() %s", client->serve->filename )
);
debug( "Opened client file fd %d", client->fileno);
debug("client: sending hello");
client_send_hello(client);

View File

@@ -89,6 +89,11 @@ void mirror_init( struct mirror * mirror, const char * filename )
filename
);
FATAL_IF_NEGATIVE(
madvise( mirror->mapped, size, MADV_SEQUENTIAL ),
SHOW_ERRNO( "Failed to madvise() %s", filename )
);
mirror->dirty_map = bitset_alloc(size, 4096);
}