On 16 Jul 2024, at 7:13, Mike Rapoport wrote:
> From: "Mike Rapoport (Microsoft)"
>
> Move numa_emulation codfrom arch/x86 to mm/numa_emulation.c
>
> This code will be later reused by arch_numa.
>
> No functional changes.
>
> Signed-off-by: Mike Rapoport (Microsoft)
> ---
> arch/x86/Kconfig
On 15 Apr 2021, at 2:45, Huang, Ying wrote:
> "Zi Yan" writes:
>
>> On 13 Apr 2021, at 23:00, Huang, Ying wrote:
>>
>>> Yang Shi writes:
>>>
>>>> The generic migration path will check refcount, so no need check refcount
>>>&g
FIG_SPARSEMEM_VMEMMAP)
> #define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n))
> +#else
> +#define nth_page(page,n) ((page) + (n))
> +#endif
>
> /* to align the pointer to the (next) page boundary */
> #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE)
> --
> 2.30.2
LGTM. Thanks.
Reviewed-by: Zi Yan
—
Best Regards,
Yan Zi
signature.asc
Description: OpenPGP digital signature
On 13 Apr 2021, at 23:00, Huang, Ying wrote:
> Yang Shi writes:
>
>> The generic migration path will check refcount, so no need check refcount
>> here.
>> But the old code actually prevents from migrating shared THP (mapped by
>> multiple
>> processes), so bail out early if mapcount is > 1 to k
From: Zi Yan
We did not have a direct user interface of splitting the compound page
backing a THP and there is no need unless we want to expose the THP
implementation details to users. Make /split_huge_pages accept
a new command to do that.
By writing ",," to
/split_huge_pages, THPs
From: Zi Yan
Further extend /split_huge_pages to accept
",," for file-backed THP split tests since
tmpfs may have file backed by THP that mapped nowhere.
Update selftest program to test file-backed THP split too.
Suggested-by: Kirill A. Shutemov
Signed-off-by: Zi Yan
Reviewed-by
On 31 Mar 2021, at 12:44, Matthew Wilcox wrote:
> On Mon, Mar 29, 2021 at 11:39:32AM -0400, Zi Yan wrote:
>> +for (off_cur = off_start; off_cur < off_end;) {
>> +struct page *fpage = pagecache_get_page(mapping, off_cur,
>> +
From: Zi Yan
Further extend /split_huge_pages to accept
",," for file-backed THP split tests since
tmpfs may have file backed by THP that mapped nowhere.
Update selftest program to test file-backed THP split too.
Suggested-by: Kirill A. Shutemov
Signed-off-by: Zi Yan
Reviewed-by
From: Zi Yan
We did not have a direct user interface of splitting the compound page
backing a THP and there is no need unless we want to expose the THP
implementation details to users. Make /split_huge_pages accept
a new command to do that.
By writing ",," to
/split_huge_pages, THPs
c | 14 --
> 1 file changed, 4 insertions(+), 10 deletions(-)
All looks good to me. Thanks.
Reviewed-by: Zi Yan
—
Best Regards,
Yan Zi
signature.asc
Description: OpenPGP digital signature
On 24 Mar 2021, at 15:16, David Rientjes wrote:
> On Mon, 22 Mar 2021, Zi Yan wrote:
>
>> From: Zi Yan
>>
>> We did not have a direct user interface of splitting the compound page
>> backing a THP and there is no need unless we want to expose the THP
>> i
From: Zi Yan
Further extend /split_huge_pages to accept
",," for file-backed THP split tests since
tmpfs may have file backed by THP that mapped nowhere.
Update selftest program to test file-backed THP split too.
Suggested-by: Kirill A. Shutemov
Signed-off-by: Zi Yan
Reviewed-by
From: Zi Yan
We did not have a direct user interface of splitting the compound page
backing a THP and there is no need unless we want to expose the THP
implementation details to users. Make /split_huge_pages accept
a new command to do that.
By writing ",," to
/split_huge_pages, THPs
On 19 Mar 2021, at 19:37, Yang Shi wrote:
> On Thu, Mar 18, 2021 at 5:52 PM Zi Yan wrote:
>>
>> From: Zi Yan
>>
>> We did not have a direct user interface of splitting the compound page
>> backing a THP and there is no need unless we want to expose the THP
&
From: Zi Yan
We did not have a direct user interface of splitting the compound page
backing a THP and there is no need unless we want to expose the THP
implementation details to users. Make /split_huge_pages accept
a new command to do that.
By writing ",," to
/split_huge_pages, THPs
From: Zi Yan
Further extend /split_huge_pages to accept
",," for file-backed THP split tests since
tmpfs may have file backed by THP that mapped nowhere.
Update selftest program to test file-backed THP split too.
Suggested-by: Kirill A. Shutemov
Signed-off-by: Zi Yan
---
mm/hug
e changed, 3 deletions(-)
LGTM. Zi Yan
—
Best Regards,
Yan Zi
signature.asc
Description: OpenPGP digital signature
mm/huge_memory.c | 11 +--
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
LGTM. Reviewed-by: Zi Yan
—
Best Regards,
Yan Zi
signature.asc
Description: OpenPGP digital signature
changed, 4 insertions(+), 4 deletions(-)
>
LGTM. Reviewed-by: Zi Yan
—
Best Regards,
Yan Zi
signature.asc
Description: OpenPGP digital signature
On 16 Mar 2021, at 19:18, Yang Shi wrote:
> On Mon, Mar 15, 2021 at 1:34 PM Zi Yan wrote:
>>
>> From: Zi Yan
>>
>> Further extend /split_huge_pages to accept
>> ",," for file-backed THP split tests since
>> tmpfs may have file backed by THP that
On 16 Mar 2021, at 18:23, Yang Shi wrote:
> On Mon, Mar 15, 2021 at 1:34 PM Zi Yan wrote:
>>
>> From: Zi Yan
>>
>> We did not have a direct user interface of splitting the compound page
>> backing a THP and there is no need unless we want to expose the THP
&
next-20210315]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url:
> https://github.com/0day-ci/linux/commits/Zi-Yan/mm-
From: Zi Yan
We did not have a direct user interface of splitting the compound page
backing a THP and there is no need unless we want to expose the THP
implementation details to users. Make /split_huge_pages accept
a new command to do that.
By writing ",," to
/split_huge_pages, THPs
From: Zi Yan
Further extend /split_huge_pages to accept
",," for file-backed THP split tests since
tmpfs may have file backed by THP that mapped nowhere.
Update selftest program to test file-backed THP split too.
Suggested-by: Kirill A. Shutemov
Signed-off-by: Zi Yan
---
mm/hug
On 15 Mar 2021, at 8:07, Kirill A. Shutemov wrote:
> On Thu, Mar 11, 2021 at 07:57:12PM -0500, Zi Yan wrote:
>> From: Zi Yan
>>
>> We do not have a direct user interface of splitting the compound page
>> backing a THP
>
> But we do. You expand it.
>
>&
On 14 Mar 2021, at 20:03, Yu Zhao wrote:
> On Sun, Mar 14, 2021 at 10:51:03PM +, Matthew Wilcox wrote:
>> On Sun, Mar 14, 2021 at 06:12:42PM -0400, Zi Yan wrote:
>>> On 13 Mar 2021, at 2:57, Yu Zhao wrote:
>>>
>>>> Some architectures support t
On 13 Mar 2021, at 2:57, Yu Zhao wrote:
> TLDR
>
> The current page reclaim is too expensive in terms of CPU usage and
> often making poor choices about what to evict. We would like to offer
> a performant, versatile and straightforward augment.
>
> Repo
>
> git fetch https://linux-mm.go
On 13 Mar 2021, at 2:57, Yu Zhao wrote:
> Some architectures support the accessed bit on non-leaf PMD entries
> (parents) in addition to leaf PTE entries (children) where pages are
> mapped, e.g., x86_64 sets the accessed bit on a parent when using it
> as part of linear-address translation [1]. P
From: Zi Yan
We do not have a direct user interface of splitting the compound page
backing a THP and there is no need unless we want to expose the THP
implementation details to users. Make /split_huge_pages accept
a new command to do that.
By writing ",," to
/split_huge_pages, THPs
On 10 Mar 2021, at 20:12, Yang Shi wrote:
> On Wed, Mar 10, 2021 at 7:36 AM Zi Yan wrote:
>>
>> From: Zi Yan
>>
>> We do not have a direct user interface of splitting the compound page
>> backing a THP and there is no need unless we want to expose the THP
&
On 10 Mar 2021, at 12:05, Michal Hocko wrote:
> On Wed 10-03-21 11:46:57, Zi Yan wrote:
>> On 10 Mar 2021, at 11:23, Michal Hocko wrote:
>>
>>> On Mon 08-03-21 16:18:52, Mike Kravetz wrote:
>>> [...]
>>>> Converting larger to smaller hugetlb pages ca
On 10 Mar 2021, at 11:23, Michal Hocko wrote:
> On Mon 08-03-21 16:18:52, Mike Kravetz wrote:
> [...]
>> Converting larger to smaller hugetlb pages can be accomplished today by
>> first freeing the larger page to the buddy allocator and then allocating
>> the smaller pages. However, there are two
From: Zi Yan
We do not have a direct user interface of splitting the compound page
backing a THP and there is no need unless we want to expose the THP
implementation details to users. Adding an interface for debugging.
By writing ",," to
/split_huge_pages_in_range_pid, THPs within
On 1 Mar 2021, at 19:01, Axel Rasmussen wrote:
> Modify the userfaultfd register API to allow registering shmem VMAs in
> minor mode. Modify the shmem mcopy implementation to support
> UFFDIO_CONTINUE in order to resolve such faults.
>
> Combine the shmem mcopy handler functions into a single
> sh
On 1 Mar 2021, at 3:32, Oscar Salvador wrote:
> When the size of a struct page is not multiple of 2MB, sections do
> not span a PMD anymore and so when populating them some parts of the
> PMD will remain unused.
> Because of this, PMDs will be left behind when depopulating sections
> since remove_
ter]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url:
> https://github.com/0day-ci/linux/commits/Zi-Yan/mm-huge_memor
On 8 Mar 2021, at 13:11, David Hildenbrand wrote:
> On 08.03.21 18:49, Zi Yan wrote:
>> On 8 Mar 2021, at 11:17, David Hildenbrand wrote:
>>
>>> On 08.03.21 16:22, Zi Yan wrote:
>>>> From: Zi Yan
>>>>
>>>> By writing ",,"
+ the rest of cc back and move your reply inline.
On 8 Mar 2021, at 12:47, Mika Penttilä wrote:
>>
>>
>> On 8.3.2021 17.22, Zi Yan wrote:
>>> From: Zi Yan
>>>
>>> By writing ",," to
>>> /split_huge_pages_in_range_pid, THPs in the pr
On 8 Mar 2021, at 11:17, David Hildenbrand wrote:
> On 08.03.21 16:22, Zi Yan wrote:
>> From: Zi Yan
>>
>> By writing ",," to
>> /split_huge_pages_in_range_pid, THPs in the process with the
>> given pid and virtual address range are split. It is u
From: Zi Yan
By writing ",," to
/split_huge_pages_in_range_pid, THPs in the process with the
given pid and virtual address range are split. It is used to test
split_huge_page function. In addition, a selftest program is added to
tools/testing/selftests/vm to utilize the interface by
On 4 Mar 2021, at 4:59, Oscar Salvador wrote:
> Physical memory hotadd has to allocate a memmap (struct page array) for
> the newly added memory section. Currently, alloc_pages_node() is used
> for those allocations.
>
> This has some disadvantages:
> a) an existing memory is consumed for that pu
; order);
> + split_page_memcg(page, 1 << order);
> }
> EXPORT_SYMBOL_GPL(split_page);
>
> --
> 2.25.0
LGTM. Thanks.
Reviewed-by: Zi Yan
—
Best Regards,
Yan Zi
signature.asc
Description: OpenPGP digital signature
flag) of
> the memcg needs to be set to the tail pages.
>
> Signed-off-by: Zhou Guanghui
> ---
> include/linux/memcontrol.h | 6 ++
> mm/huge_memory.c | 2 +-
> mm/memcontrol.c| 15 ++-
> 3 files changed, 9 insertions(+), 14 deletions(
On 26 Feb 2021, at 2:18, Alistair Popple wrote:
> Migration is currently implemented as a mode of operation for
> try_to_unmap_one() generally specified by passing the TTU_MIGRATION flag
> or in the case of splitting a huge anonymous page TTU_SPLIT_FREEZE.
>
> However it does not have much in comm
On 2 Mar 2021, at 8:22, Matthew Wilcox wrote:
> On Mon, Mar 01, 2021 at 03:26:11PM -0500, Zi Yan wrote:
>>> +static inline struct folio *next_folio(struct folio *folio)
>>> +{
>>> + return folio + folio_nr_pages(folio);
>>
>> Are you planning to make
On 2 Mar 2021, at 2:05, Zhouguanghui (OS Kernel) wrote:
> 在 2021/3/2 10:00, Zi Yan 写道:
>> On 1 Mar 2021, at 20:34, Zhou Guanghui wrote:
>>
>>> When split page, the memory cgroup info recorded in first page is
>>> not copied to tail pages. In this case, when
On 1 Mar 2021, at 20:34, Zhou Guanghui wrote:
> When split page, the memory cgroup info recorded in first page is
> not copied to tail pages. In this case, when the tail pages are
> freed, the uncharge operation is not performed. As a result, the
> usage of this memcg keeps increasing, and the OOM
d page->_refcount.
> - */
> - VM_BUG_ON_PAGE(page_ref_zero_or_close_to_overflow(page), page);
> - page_ref_inc(page);
> + get_folio(page_folio(page));
> }
>
> bool __must_check try_grab_page(struct page *page, unsigned int flags);
> --
> 2.29.2
LGTM.
Reviewed-by: Zi Yan
—
Best Regards,
Yan Zi
signature.asc
Description: OpenPGP digital signature
;page)) {
> + put_devmap_managed_page(&folio->page);
> return;
> }
>
> - if (put_page_testzero(page))
> - __put_page(page);
> + put_folio(folio);
> }
>
> /*
> --
> 2.29.2
LGTM.
Reviewed-by: Zi Yan
—
Best Regards,
Yan Zi
signature.asc
Description: OpenPGP digital signature
ine VM_BUG_ON_MM(cond, mm) VM_BUG_ON(cond)
> #define VM_WARN_ON(cond) BUILD_BUG_ON_INVALID(cond)
> #define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond)
> #define VM_WARN_ON_ONCE_PAGE(cond, page) BUILD_BUG_ON_INVALID(cond)
> +#define VM_WARN_ON_ONCE_FOLIO(cond, folio) BUILD_BUG_O
On 28 Jan 2021, at 2:03, Matthew Wilcox (Oracle) wrote:
> Allow page counters to be more readily modified by callers which have
> a folio. Name these wrappers with 'stat' instead of 'state' as requested
> by Linus here:
> https://lore.kernel.org/linux-mm/CAHk-=wj847sudr-kt+46ft3+xffgiwpgthvm7djwg
> return NODE_DATA(page_to_nid(page));
> }
>
> +static inline pg_data_t *folio_pgdat(const struct folio *folio)
> +{
> + return page_pgdat(&folio->page);
> +}
> +
> #ifdef SECTION_IN_PAGE_FLAGS
> static inline void set_page_section(struct page *page, unsigned long
On 1 Mar 2021, at 15:53, Matthew Wilcox wrote:
> On Mon, Mar 01, 2021 at 03:26:11PM -0500, Zi Yan wrote:
>>> +static inline struct folio *next_folio(struct folio *folio)
>>> +{
>>> + return folio + folio_nr_pages(folio);
>>
>> Are you planning to
On 28 Jan 2021, at 2:03, Matthew Wilcox (Oracle) wrote:
> We have trouble keeping track of whether we've already called
> compound_head() to ensure we're not operating on a tail page. Further,
> it's never clear whether we intend a struct page to refer to PAGE_SIZE
> bytes or page_size(compound_h
n give us a better reason why
> alloc_contig_range() failed on specific pages.
>
> Cc: Andrew Morton
> Cc: Minchan Kim
> Cc: Oscar Salvador
> Cc: Michal Hocko
> Cc: Vlastimil Babka
> Signed-off-by: David Hildenbrand
> ---
LGTM. I agree that the printout is not q
On 18 Feb 2021, at 12:51, Mike Kravetz wrote:
> On 2/18/21 9:40 AM, Zi Yan wrote:
>> On 18 Feb 2021, at 12:32, Jason Gunthorpe wrote:
>>
>>> On Thu, Feb 18, 2021 at 12:27:58PM -0500, Zi Yan wrote:
>>>> On 18 Feb 2021, at 12:25, Jason Gunthorpe wrote:
>>&
On 18 Feb 2021, at 12:32, Jason Gunthorpe wrote:
> On Thu, Feb 18, 2021 at 12:27:58PM -0500, Zi Yan wrote:
>> On 18 Feb 2021, at 12:25, Jason Gunthorpe wrote:
>>
>>> On Thu, Feb 18, 2021 at 02:45:54PM +, Matthew Wilcox wrote:
>>>> On Wed, Feb 17, 2021 at 1
On 18 Feb 2021, at 12:25, Jason Gunthorpe wrote:
> On Thu, Feb 18, 2021 at 02:45:54PM +, Matthew Wilcox wrote:
>> On Wed, Feb 17, 2021 at 11:02:52AM -0800, Andrew Morton wrote:
>>> On Wed, 17 Feb 2021 10:49:25 -0800 Mike Kravetz
>>> wrote:
page structs are not guaranteed to be contiguou
On 11 Feb 2021, at 18:44, Mike Kravetz wrote:
> On 2/11/21 12:47 PM, Zi Yan wrote:
>> On 28 Jan 2021, at 16:53, Mike Kravetz wrote:
>>
>>> On 1/28/21 10:26 AM, Joao Martins wrote:
>>>> For a given hugepage backing a VA, there's a rather ineficient
>>
On 28 Jan 2021, at 16:53, Mike Kravetz wrote:
> On 1/28/21 10:26 AM, Joao Martins wrote:
>> For a given hugepage backing a VA, there's a rather ineficient
>> loop which is solely responsible for storing subpages in GUP
>> @pages/@vmas array. For each subpage we check whether it's within
>> range o
On 28 Jan 2021, at 11:41, Dave Hansen wrote:
> On 1/28/21 8:33 AM, Zi Yan wrote:
>>> One of the many lasting (as we don't coalesce back) sources for
>>> huge page splits is tracing as the granular page
>>> attribute/permission changes would force the kernel t
On 28 Jan 2021, at 5:49, Saravanan D wrote:
> To help with debugging the sluggishness caused by TLB miss/reload,
> we introduce monotonic lifetime hugepage split event counts since
> system state: SYSTEM_RUNNING to be displayed as part of
> /proc/vmstat in x86 servers
>
> The lifetime split event
gt; Cc: Oscar Salvador
> Cc: Michal Hocko
> Cc: Wei Yang
> Signed-off-by: David Hildenbrand
> ---
> mm/cma.c | 43 +--
> 1 file changed, 21 insertions(+), 22 deletions(-)
LGTM. Reviewed-by: Zi Yan
—
Best Regards,
Yan Zi
signature.asc
Description: OpenPGP digital signature
unt():
>>
>> for (i = 0; i < thp_nr_pages(page); i++) {
>> mapcount = atomic_read(&page[i]._mapcount) + 1;
>
> I think we are guaranteed this for transparent huge pages. At least
> for now. Zi Yan may have some thoughts for his work on 1GB tra
From: Zi Yan
To minimize the number of pages after a truncation, when truncating a
THP, we do not need to split it all the way down to order-0. The THP has
at most three parts, the part before offset, the part to be truncated,
the part left at the end. Use the non-zero minimum of them to decide
From: Zi Yan
It adds a new_order parameter to set new page order in page owner and
uses old_order instead of nr to make the parameters look consistent.
It prepares for upcoming changes to support split huge page to any
lower order.
Signed-off-by: Zi Yan
---
include/linux/page_owner.h | 10
From: Zi Yan
Huge pages in the process with the given pid and virtual address range
are split. It is used to test split huge page function. In addition,
a testing program is added to tools/testing/selftests/vm to utilize the
interface by splitting PMD THPs and PTE-mapped THPs.
Signed-off-by: Zi
From: Zi Yan
To split a THP to any lower order pages, we need to reform THPs on
subpages at given order and add page refcount based on the new page
order. Also we need to reinitialize page_deferred_list after removing
the page from the split_queue, otherwise a subsequent split will see
list
From: Zi Yan
Hi all,
With Matthew's THP in pagecache patches[1], we will be able to handle any size
pagecache THPs, but currently split_huge_page can only split a THP to order-0
pages. This can easily erase the benefit of having pagecache THPs, when
operations like truncate might want to
From: Zi Yan
It is used to test split_huge_page_to_list_to_order for pagecache THPs.
Also add test cases for split_huge_page_to_list_to_order via both
debugfs, truncating a file, and punching holes in a file.
Signed-off-by: Zi Yan
---
mm/huge_memory.c | 13
From: "Matthew Wilcox (Oracle)"
Splitting an order-4 entry into order-2 entries would leave the array
containing pointers to 40008000c000 instead of .
This is a one-character fix, but enhance the test suite to check this
case.
Reported-by: Zi Yan
Signed-off-b
From: Zi Yan
It sets memcg information for the pages after the split. A new parameter
new_order is added to tell the new page order, always 0 for now. It
prepares for upcoming changes to support split huge page to any lower order.
Signed-off-by: Zi Yan
Reviewed-by: Ralph Campbell
Acked-by
On 17 Nov 2020, at 16:22, Matthew Wilcox wrote:
> On Tue, Nov 17, 2020 at 04:12:03PM -0500, Zi Yan wrote:
>> On 17 Nov 2020, at 16:05, Matthew Wilcox wrote:
>>
>>> On Fri, Nov 13, 2020 at 05:38:01PM -0800, Roman Gushchin wrote:
>>>> On Fri, Nov 13, 20
On 17 Nov 2020, at 16:10, Matthew Wilcox wrote:
> On Wed, Nov 11, 2020 at 03:40:05PM -0500, Zi Yan wrote:
>> -for (i = 0; i < nr; i++) {
>> +for (i = 0; i < nr; i += (1 << new_order)) {
>> page_owner = get_page_owner(page_ext);
>
On 17 Nov 2020, at 16:05, Matthew Wilcox wrote:
> On Fri, Nov 13, 2020 at 05:38:01PM -0800, Roman Gushchin wrote:
>> On Fri, Nov 13, 2020 at 08:08:58PM -0500, Zi Yan wrote:
>>> Matthew recently converted split_page_owner to take nr instead of order.[1]
>>> But I am
ocks_moved",
> "compact_pages_moved",
> "compact_pagemigrate_failed",
>
> Signed-off-by: Alex Shi
> Cc: Jonathan Corbet
> Cc: Andrew Morton
> Cc: Yang Shi
> Cc: "Kirill A. Shutemov"
> Cc: David Rientjes
> Cc: Zi Yan
> Cc: linux-...@vger
On 16 Nov 2020, at 11:06, Kirill A. Shutemov wrote:
> On Wed, Nov 11, 2020 at 03:40:03PM -0500, Zi Yan wrote:
>> From: Zi Yan
>>
>> Huge pages in the process with the given pid and virtual address range
>> are split. It is used to test split huge page function. In add
On 16 Nov 2020, at 11:25, Kirill A. Shutemov wrote:
> On Wed, Nov 11, 2020 at 03:40:05PM -0500, Zi Yan wrote:
>> From: Zi Yan
>>
>> It adds a new_order parameter to set new page order in page owner.
>> It prepares for upcoming changes to support split huge
On 13 Nov 2020, at 19:15, Roman Gushchin wrote:
On Wed, Nov 11, 2020 at 03:40:05PM -0500, Zi Yan wrote:
From: Zi Yan
It adds a new_order parameter to set new page order in page owner.
It prepares for upcoming changes to support split huge page to any
lower
order.
Signed-off-by: Zi Yan
On 13 Nov 2020, at 19:52, Roman Gushchin wrote:
> On Wed, Nov 11, 2020 at 03:40:06PM -0500, Zi Yan wrote:
>> From: Zi Yan
>>
>> To split a THP to any lower order pages, we need to reform THPs on
>> subpages at given order and add page refcount based on the new pag
On 13 Nov 2020, at 19:23, Roman Gushchin wrote:
> On Wed, Nov 11, 2020 at 03:40:04PM -0500, Zi Yan wrote:
>> From: Zi Yan
>>
>> It reads thp_nr_pages and splits to provided new_nr. It prepares for
>> upcoming changes to support split huge page to any lower order.
On 12 Nov 2020, at 17:22, Ralph Campbell wrote:
> On 11/11/20 12:40 PM, Zi Yan wrote:
>> From: Zi Yan
>>
>> Huge pages in the process with the given pid and virtual address range
>> are split. It is used to test split huge page function. In addition,
>> a
On 12 Nov 2020, at 17:08, Ralph Campbell wrote:
> On 11/11/20 12:40 PM, Zi Yan wrote:
>> From: Zi Yan
>>
>> To minimize the number of pages after a truncation, when truncating a
>> THP, we do not need to split it all the way down to order-0. The THP has
>> at
On 12 Nov 2020, at 17:01, Ralph Campbell wrote:
> On 11/11/20 12:40 PM, Zi Yan wrote:
>> From: Zi Yan
>>
>> To split a THP to any lower order pages, we need to reform THPs on
>> subpages at given order and add page refcount based on the new page
>> or
On 12 Nov 2020, at 12:58, Ralph Campbell wrote:
> On 11/11/20 12:40 PM, Zi Yan wrote:
>> From: Zi Yan
>>
>> It reads thp_nr_pages and splits to provided new_nr. It prepares for
>> upcoming changes to support split huge page to any lower order.
>>
>> Si
On 12 Nov 2020, at 12:57, Ralph Campbell wrote:
> On 11/11/20 12:40 PM, Zi Yan wrote:
>> From: Zi Yan
>>
>> It adds a new_order parameter to set new page order in page owner.
>> It prepares for upcoming changes to support split huge page to any lower
>> o
From: Zi Yan
It reads thp_nr_pages and splits to provided new_nr. It prepares for
upcoming changes to support split huge page to any lower order.
Signed-off-by: Zi Yan
---
include/linux/memcontrol.h | 5 +++--
mm/huge_memory.c | 2 +-
mm/memcontrol.c| 4 ++--
3 files
From: Zi Yan
It adds a new_order parameter to set new page order in page owner.
It prepares for upcoming changes to support split huge page to any lower
order.
Signed-off-by: Zi Yan
---
include/linux/page_owner.h | 7 ---
mm/huge_memory.c | 2 +-
mm/page_alloc.c| 2
From: Zi Yan
It is used to test split_huge_page_to_list_to_order for pagecache THPs.
Also add test cases for split_huge_page_to_list_to_order via both
debugfs and truncating a file.
Signed-off-by: Zi Yan
---
mm/huge_memory.c | 13 +--
.../selftests/vm
From: Zi Yan
Hi all,
With Matthew's THP in pagecache patches[1], we will be able to handle any size
pagecache THPs, but currently split_huge_page can only split a THP to order-0
pages. This can easily erase the benefit of having pagecache THPs, when
operations like truncate might want to
From: Zi Yan
Huge pages in the process with the given pid and virtual address range
are split. It is used to test split huge page function. In addition,
a testing program is added to tools/testing/selftests/vm to utilize the
interface by splitting PMD THPs.
Signed-off-by: Zi Yan
---
mm
From: Zi Yan
To minimize the number of pages after a truncation, when truncating a
THP, we do not need to split it all the way down to order-0. The THP has
at most three parts, the part before offset, the part to be truncated,
the part left at the end. Use the non-zero minimum of them to decide
From: Zi Yan
To split a THP to any lower order pages, we need to reform THPs on
subpages at given order and add page refcount based on the new page
order. Also we need to reinitialize page_deferred_list after removing
the page from the split_queue, otherwise a subsequent split will see
list
On 3 Nov 2020, at 8:03, Yang Shi wrote:
> In the current implementation unmap_and_move() would return -ENOMEM if
> THP migration is unsupported, then the THP will be split. If split is
> failed just exit without trying to migrate other pages. It doesn't make
> too much sense since there may be e
migrate.c| 8 ++--
> 3 files changed, 6 insertions(+), 14 deletions(-)
>
LGTM. Thanks. Reviewed-by: Zi Yan
—
Best Regards,
Yan Zi
signature.asc
Description: OpenPGP digital signature
if unless you really mean if and only if. :)
Everything else looks good to me. Thanks for making the code cleaner.
With the changes above, you can add Reviewed-by: Zi Yan .
> was not so before. This has no impact to current existing callsites.
>
> Signed-off-by: Yang Shi
> ---
>
On 30 Oct 2020, at 14:33, Yang Shi wrote:
> On Fri, Oct 30, 2020 at 6:36 AM Michal Hocko wrote:
>>
>> On Fri 30-10-20 08:20:50, Zi Yan wrote:
>>> On 30 Oct 2020, at 5:43, Michal Hocko wrote:
>>>
>>>> [Cc Vlastimil]
>>>>
>&g
From: Zi Yan
In isolate_migratepages_block, when cc->alloc_contig is true, we are
able to isolate compound pages, nr_migratepages and nr_isolated did not
count compound pages correctly, causing us to isolate more pages than we
thought. Count compound pages as the number of base pages t
From: Zi Yan
In isolate_migratepages_block, if we have too many isolated pages and
nr_migratepages is not zero, we should try to migrate what we have
without wasting time on isolating.
Fixes: 1da2f328fa64 (“mm,thp,compaction,cma: allow THP migration for CMA
allocations”)
Suggested-by
On 30 Oct 2020, at 14:12, Matthew Wilcox wrote:
> On Fri, Oct 30, 2020 at 11:57:15AM -0400, Zi Yan wrote:
>> In isolate_migratepages_block, when cc->alloc_contig is true, we are
>> able to isolate compound pages, nr_migratepages and nr_isolated did not
>> count compound
1 - 100 of 520 matches
Mail list logo