mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
Merge remote-tracking branch 'stable/linux-5.10.y' into rpi-5.10.y
This commit is contained in:
@@ -443,21 +443,24 @@ static bool hugepage_vma_check(struct vm_area_struct *vma,
|
||||
if (!transhuge_vma_enabled(vma, vm_flags))
|
||||
return false;
|
||||
|
||||
if (vma->vm_file && !IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) -
|
||||
vma->vm_pgoff, HPAGE_PMD_NR))
|
||||
return false;
|
||||
|
||||
/* Enabled via shmem mount options or sysfs settings. */
|
||||
if (shmem_file(vma->vm_file) && shmem_huge_enabled(vma)) {
|
||||
return IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - vma->vm_pgoff,
|
||||
HPAGE_PMD_NR);
|
||||
}
|
||||
if (shmem_file(vma->vm_file))
|
||||
return shmem_huge_enabled(vma);
|
||||
|
||||
/* THP settings require madvise. */
|
||||
if (!(vm_flags & VM_HUGEPAGE) && !khugepaged_always())
|
||||
return false;
|
||||
|
||||
/* Read-only file mappings need to be aligned for THP to work. */
|
||||
/* Only regular file is valid */
|
||||
if (IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS) && vma->vm_file &&
|
||||
(vm_flags & VM_DENYWRITE)) {
|
||||
return IS_ALIGNED((vma->vm_start >> PAGE_SHIFT) - vma->vm_pgoff,
|
||||
HPAGE_PMD_NR);
|
||||
struct inode *inode = vma->vm_file->f_inode;
|
||||
|
||||
return S_ISREG(inode->i_mode);
|
||||
}
|
||||
|
||||
if (!vma->anon_vma || vma->vm_ops)
|
||||
|
||||
Reference in New Issue
Block a user