diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-11-23 18:11:30 +0100 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-11-23 18:11:30 +0100 |
commit | b3fcdc50024b3837a76cd854d02a940dac2e5dc3 (patch) | |
tree | cd19784b3e8eda7fde8601f0fb2c15d60fb3aae1 /utils | |
parent | 25fe9cb62331d609b87b9d0b1db06d06ab825d16 (diff) |
libpager: make the request queue more memory-efficient
Previously, `pager_demuxer' allocated a chunk of memory for the
response message. But if memory gets scarce, the kernel will issue a
large number of paging requests to free up memory. In such a
situation, allocating memory is dangerous.
Fix this by not allocating space for the response message, rather, use
a chunk of the workers stack space. Also, we only handle the `notify'
and `memory_object' protocol, which both only contain simple routines,
we only need a `mig_response_header_t'.
* libpager/demuxer.c (struct request): Remove `inp' and `outp'.
(request_inp): New function.
(pager_demuxer): Do not allocate memory for the response.
(mig_reply_setup): New function.
(worker_func): Adjust accordingly.
Diffstat (limited to 'utils')
0 files changed, 0 insertions, 0 deletions