Quantcast
Channel: Linux | Kernel
Browsing all 165258 articles
Browse latest View live

[PATCHv4 04/25] rmap: support file thp

Naive approach: on mapping/unmapping the page as compound we update ->_mapcount on each 4k page. That's not efficient, but it's not obvious how we can

View Article



[PATCHv4 05/25] mm: introduce do_set_pmd()

With postponed page table allocation we have chance to setup huge pages. do_set_pte() calls do_set_pmd() if following criteria met: - page is compou

View Article

[PATCHv4 06/25] mm, rmap: account file thp pages

Let's add FileHugeMapped field into meminfo. It indicates how many time we map file THP NR_ANON_TRANSPARENT_HUGEPAGES is renamed to NR_ANON_THPS. Si

View Article

[PATCHv4 07/25] thp, vmstats: add counters for huge file pages

THP_FILE_ALLOC: how many times huge page was allocated and put page cache. THP_FILE_MAPPED: how many times file huge page was mapped. Signed-off-by:

View Article

[PATCHv4 08/25] thp: support file pages in zap_huge_pmd()

split_huge_pmd() for file mappings (and DAX too) is implemented by just clearing pmd entry as we can re-fill this area from page cache on pte level la

View Article


[PATCHv4 09/25] thp: handle file pages in split_huge_pmd()

Splitting THP PMD is simple: just unmap it as in DAX case. Unlike DAX, we also remove the page from rmap and drop reference. Signed-off-by: Kirill A.

View Article

[PATCHv4 10/25] thp: handle file COW faults

File COW for THP is handled on pte level: just split the pmd. It's not clear how benefitial would be allocation of huge pages on COW faults. And it w

View Article

[PATCHv4 11/25] thp: handle file pages in mremap()

We need to mirror logic in move_ptes() wrt need_rmap_locks to get proper serialization file THP. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@l

View Article


[PATCHv4 12/25] thp: skip file huge pmd on copy_huge_pmd()

copy_page_range() has a check for "Don't copy ptes where a page fault will fill them correctly." It works on VMA level. We still copy all page table e

View Article


[PATCHv4 13/25] thp: prepare change_huge_pmd() for file thp

change_huge_pmd() has assert which is not relvant for file page. For shared mapping it's perfectly fine to have page table entry writable, without exp

View Article

[PATCHv4 14/25] thp: run vma_adjust_trans_huge() outside i_mmap_rwsem

vma_addjust_trans_huge() splits pmd if it's crossing VMA boundary. During split we munlock the huge page which requires rmap walk. rmap wants to take

View Article

[PATCHv4 15/25] thp: file pages support for split_huge_page()

Basic scheme is the same as for anon THP. Main differences: - File pages are on radix-tree, so we have head->_count offset by HPAGE_PMD_NR. Th

View Article

[PATCHv4 16/25] thp, mlock: do not mlock PTE-mapped file huge pages

As with anon THP, we only mlock file huge pages if we can prove that the page is not mapped with PTE. This way we can avoid mlock leak into non-mlocke

View Article


[PATCHv4 17/25] vmscan: split file huge pages before paging them out

This is preparation of vmscan for file huge pages. We cannot write out huge pages, so we need to split them on the way out. Signed-off-by: Kirill A.

View Article

[PATCHv4 18/25] page-flags: relax policy for PG_mappedtodisk and PG_reclaim

These flags are in use for file THP. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> --- include/linux/page-flags.h | 6 +++---

View Article


[PATCHv4 19/25] radix-tree: implement radix_tree_maybe_preload_order()

The new helper is similar to radix_tree_maybe_preload(), but tries to preload number of nodes required to insert (1 << order) continuous naturally-ali

View Article

[PATCHv4 20/25] filemap: prepare find and delete operations for huge pages

For now, we would have HPAGE_PMD_NR entries in radix tree for every huge page. That's suboptimal and it will be changed to use Matthew's multi-order e

View Article


[PATCHv4 21/25] truncate: handle file thp

For shmem/tmpfs we only need to tweak truncate_inode_page() and invalidate_mapping_pages(). Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.

View Article

[PATCHv4 22/25] shmem: prepare huge= mount option and sysfs knob

This patch adds new mount option "huge=". It can have following values: - "always": Attempt to allocate huge pages every time we need a new

View Article

[PATCHv4 23/25] shmem: get_unmapped_area align huge page

From: Hugh Dickins <hughd@google.com> Provide a shmem_get_unmapped_area method in file_operations, called at mmap time to decide the mapping address.

View Article
Browsing all 165258 articles
Browse latest View live




Latest Images