I've seen this callback a few times recently, running sanityn test_56 on ZFS but the current code just prints a brief message without much context and does nothing else:
It would be better if this message was prefixed with "{{Lustre: OOM handler: }}" to give some context to what it means.
Secondly, having the handler itself at least provides some minimal information (Lustre memory usage is 200MB in this case, on a 3GB VM, not including LNet memory usage which should also be printed).
It would be better if this callback actually tried to do something useful under memory pressure. Possible candidates would be:
- reduce number of server threads to free per-thread allocations
- cancel DLM locks on server (see
LU-6529 and related tickets)
- cancel DLM locks on client (drop LRU completely, if not already done)
- drop cached pages on client
I've seen this callback a few times recently, running sanityn test_56 on ZFS but the current code just prints a brief message without much context and does nothing else:
It would be better if this message was prefixed with "{{Lustre: OOM handler: }}" to give some context to what it means.
Secondly, having the handler itself at least provides some minimal information (Lustre memory usage is 200MB in this case, on a 3GB VM, not including LNet memory usage which should also be printed).
It would be better if this callback actually tried to do something useful under memory pressure. Possible candidates would be:
LU-6529and related tickets)