4 ms·
SIGSERV is basically a page fault in userspace. Its just named differently. The user mode linux kernel port makes use of it in exactly this way. Another use ca
by mistralol 9y ago
SIGSERV is basically a page fault in userspace. Its just named differently. The user mode linux kernel port makes use of it in exactly this way.
Another use case would be a massive one to one hash table. You allocate the address space and when you fault on it you load data from a database on demand and continue execution.
- geofft 9y agoLinux also has userfaultfd for this, which I think is easier to program against: https://www.kernel.org/doc/Documentation/vm/userfaultfd.txt https://www.kernel.org/doc/Documentation/vm/userfaultfd.txt There's also something in Mach for this on OS X, but I forget the details. And a handful of non-UNIX OSes have had support for an outside program being able to get notified efficiently on segfaults and map pages in.