.. | .. |
---|
9 | 9 | |
---|
10 | 10 | KSM is a memory-saving de-duplication feature, enabled by CONFIG_KSM=y, |
---|
11 | 11 | added to the Linux kernel in 2.6.32. See ``mm/ksm.c`` for its implementation, |
---|
12 | | -and http://lwn.net/Articles/306704/ and http://lwn.net/Articles/330589/ |
---|
| 12 | +and http://lwn.net/Articles/306704/ and https://lwn.net/Articles/330589/ |
---|
13 | 13 | |
---|
14 | 14 | KSM was originally developed for use with KVM (where it was known as |
---|
15 | 15 | Kernel Shared Memory), to fit more virtual machines into physical memory, |
---|
.. | .. |
---|
52 | 52 | If KSM is not configured into the running kernel, madvise MADV_MERGEABLE |
---|
53 | 53 | and MADV_UNMERGEABLE simply fail with EINVAL. If the running kernel was |
---|
54 | 54 | built with CONFIG_KSM=y, those calls will normally succeed: even if the |
---|
55 | | -the KSM daemon is not currently running, MADV_MERGEABLE still registers |
---|
| 55 | +KSM daemon is not currently running, MADV_MERGEABLE still registers |
---|
56 | 56 | the range for whenever the KSM daemon is started; even if the range |
---|
57 | 57 | cannot contain any pages which KSM could actually merge; even if |
---|
58 | 58 | MADV_UNMERGEABLE is applied to a range which was never MADV_MERGEABLE. |
---|
59 | 59 | |
---|
60 | 60 | If a region of memory must be split into at least one new MADV_MERGEABLE |
---|
61 | 61 | or MADV_UNMERGEABLE region, the madvise may return ENOMEM if the process |
---|
62 | | -will exceed ``vm.max_map_count`` (see Documentation/sysctl/vm.txt). |
---|
| 62 | +will exceed ``vm.max_map_count`` (see Documentation/admin-guide/sysctl/vm.rst). |
---|
63 | 63 | |
---|
64 | 64 | Like other madvise calls, they are intended for use on mapped areas of |
---|
65 | 65 | the user address space: they will report ENOMEM if the specified range |
---|