Re: [PATCH 0/5] prctl: extend PR_SET_THP_DISABLE to only provide THPs when advised

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



You forgot the v2, please can you resend this with it, or this will get
mighty confusing.

Thanks!

On Thu, Jul 31, 2025 at 01:18:11PM +0100, Usama Arif wrote:
> This will allow individual processes to opt-out of THP = "always"
> into THP = "madvise", without affecting other workloads on the system.
> This has been extensively discussed on the mailing list and has been
> summarized very well by David in the first patch which also includes
> the links to alternatives, please refer to the first patch commit message
> for the motivation for this series.
>
> Patch 1 adds the PR_THP_DISABLE_EXCEPT_ADVISED flag to implement this, along
> with the MMF changes.
> Patch 2 is a cleanup patch for tva_flags that will allow the forced collapse
> case to be transmitted to vma_thp_disabled (which is done in patch 3).
> Patches 4-5 implement the selftests for PR_SET_THP_DISABLE for completely
> disabling THPs (old behaviour) and only enabling it at advise
> (PR_THP_DISABLE_EXCEPT_ADVISED).
>
> The patches are tested on top of 4ad831303eca6ae518c3b3d86838a2a04b90ec41
> from mm-new.
>
> v1 -> v2: https://lore.kernel.org/all/20250725162258.1043176-1-usamaarif642@xxxxxxxxx/
> - Change thp_push_settings to thp_write_settings (David)
> - Add tests for all the system policies for the prctl call (David)
> - Small fixes and cleanups
>
> David Hildenbrand (3):
>   prctl: extend PR_SET_THP_DISABLE to optionally exclude VM_HUGEPAGE
>   mm/huge_memory: convert "tva_flags" to "enum tva_type" for
>     thp_vma_allowable_order*()
>   mm/huge_memory: treat MADV_COLLAPSE as an advise with
>     PR_THP_DISABLE_EXCEPT_ADVISED
>
> Usama Arif (2):
>   selftests: prctl: introduce tests for disabling THPs completely
>   selftests: prctl: introduce tests for disabling THPs except for
>     madvise
>
>  Documentation/filesystems/proc.rst            |   5 +-
>  fs/proc/array.c                               |   2 +-
>  fs/proc/task_mmu.c                            |   4 +-
>  include/linux/huge_mm.h                       |  60 ++-
>  include/linux/mm_types.h                      |  13 +-
>  include/uapi/linux/prctl.h                    |  10 +
>  kernel/sys.c                                  |  59 ++-
>  mm/huge_memory.c                              |  11 +-
>  mm/khugepaged.c                               |  20 +-
>  mm/memory.c                                   |  20 +-
>  mm/shmem.c                                    |   2 +-
>  tools/testing/selftests/mm/.gitignore         |   1 +
>  tools/testing/selftests/mm/Makefile           |   1 +
>  .../testing/selftests/mm/prctl_thp_disable.c  | 358 ++++++++++++++++++
>  tools/testing/selftests/mm/thp_settings.c     |   9 +-
>  tools/testing/selftests/mm/thp_settings.h     |   1 +
>  16 files changed, 505 insertions(+), 71 deletions(-)
>  create mode 100644 tools/testing/selftests/mm/prctl_thp_disable.c
>
> --
> 2.47.3
>




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux