From: Yin Fengwei <fengwei.yin@intel.com>
To: Yu Zhao <yuzhao@google.com>, Ryan Roberts <ryan.roberts@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
David Hildenbrand <david@redhat.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-alpha@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
linux-m68k@lists.linux-m68k.org
Subject: Re: [PATCH v1 04/10] mm: Implement folio_add_new_anon_rmap_range()
Date: Wed, 28 Jun 2023 10:17:06 +0800 [thread overview]
Message-ID: <16ea687c-0f10-59ce-885b-811721e4ba50@intel.com> (raw)
In-Reply-To: <CAOUHufZ0ZzHoJXwbzNyZOv74L=XYdZzcxA8SXxLX0MXdykuWRA@mail.gmail.com>
On 6/27/23 15:08, Yu Zhao wrote:
> On Mon, Jun 26, 2023 at 11:14 AM Ryan Roberts <ryan.roberts@arm.com> wrote:
>>
>> Like folio_add_new_anon_rmap() but batch-rmaps a range of pages
>> belonging to a folio, for effciency savings. All pages are accounted as
>> small pages.
>>
>> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
>> ---
>> include/linux/rmap.h | 2 ++
>> mm/rmap.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 45 insertions(+)
>>
>> diff --git a/include/linux/rmap.h b/include/linux/rmap.h
>> index a3825ce81102..15433a3d0cbf 100644
>> --- a/include/linux/rmap.h
>> +++ b/include/linux/rmap.h
>> @@ -196,6 +196,8 @@ void page_add_new_anon_rmap(struct page *, struct vm_area_struct *,
>> unsigned long address);
>> void folio_add_new_anon_rmap(struct folio *, struct vm_area_struct *,
>> unsigned long address);
>> +void folio_add_new_anon_rmap_range(struct folio *folio, struct page *page,
>> + int nr, struct vm_area_struct *vma, unsigned long address);
>
> We should update folio_add_new_anon_rmap() to support large() &&
> !folio_test_pmd_mappable() folios instead.
>
> I double checked all places currently using folio_add_new_anon_rmap(),
> and as expected, none actually allocates large() &&
> !folio_test_pmd_mappable() and maps it one by one, which makes the
> cases simpler, i.e.,
> if (!large())
> // the existing basepage case
> else if (!folio_test_pmd_mappable())
> // our new case
> else
> // the existing THP case
I suppose we can merge the new case and existing THP case.
Regards
Yin, Fengwei
>
>> void page_add_file_rmap(struct page *, struct vm_area_struct *,
>> bool compound);
>> void folio_add_file_rmap_range(struct folio *, struct page *, unsigned int nr,
>> diff --git a/mm/rmap.c b/mm/rmap.c
>> index 1d8369549424..4050bcea7ae7 100644
>> --- a/mm/rmap.c
>> +++ b/mm/rmap.c
>> @@ -1305,6 +1305,49 @@ void folio_add_new_anon_rmap(struct folio *folio, struct vm_area_struct *vma,
>> __page_set_anon_rmap(folio, &folio->page, vma, address, 1);
>> }
>>
>> +/**
>> + * folio_add_new_anon_rmap_range - Add mapping to a set of pages within a new
>> + * anonymous potentially large folio.
>> + * @folio: The folio containing the pages to be mapped
>> + * @page: First page in the folio to be mapped
>> + * @nr: Number of pages to be mapped
>> + * @vma: the vm area in which the mapping is added
>> + * @address: the user virtual address of the first page to be mapped
>> + *
>> + * Like folio_add_new_anon_rmap() but batch-maps a range of pages within a folio
>> + * using non-THP accounting. Like folio_add_new_anon_rmap(), the inc-and-test is
>> + * bypassed and the folio does not have to be locked. All pages in the folio are
>> + * individually accounted.
>> + *
>> + * As the folio is new, it's assumed to be mapped exclusively by a single
>> + * process.
>> + */
>> +void folio_add_new_anon_rmap_range(struct folio *folio, struct page *page,
>> + int nr, struct vm_area_struct *vma, unsigned long address)
>> +{
>> + int i;
>> +
>> + VM_BUG_ON_VMA(address < vma->vm_start ||
>> + address + (nr << PAGE_SHIFT) > vma->vm_end, vma);
>
> BTW, VM_BUG_ON* shouldn't be used in new code:
> Documentation/process/coding-style.rst
WARNING: multiple messages have this Message-ID (diff)
From: Yin Fengwei <fengwei.yin@intel.com>
To: Yu Zhao <yuzhao@google.com>, Ryan Roberts <ryan.roberts@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
David Hildenbrand <david@redhat.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "Borislav Petkov" <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>, <linux-kernel@vger.kernel.org>,
<linux-mm@kvack.org>, <linux-alpha@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-ia64@vger.kernel.org>, <linux-m68k@lists.linux-m68k.org>,
<linux-s390@vger.kernel.org>
Subject: Re: [PATCH v1 04/10] mm: Implement folio_add_new_anon_rmap_range()
Date: Wed, 28 Jun 2023 10:17:06 +0800 [thread overview]
Message-ID: <16ea687c-0f10-59ce-885b-811721e4ba50@intel.com> (raw)
In-Reply-To: <CAOUHufZ0ZzHoJXwbzNyZOv74L=XYdZzcxA8SXxLX0MXdykuWRA@mail.gmail.com>
On 6/27/23 15:08, Yu Zhao wrote:
> On Mon, Jun 26, 2023 at 11:14 AM Ryan Roberts <ryan.roberts@arm.com> wrote:
>>
>> Like folio_add_new_anon_rmap() but batch-rmaps a range of pages
>> belonging to a folio, for effciency savings. All pages are accounted as
>> small pages.
>>
>> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
>> ---
>> include/linux/rmap.h | 2 ++
>> mm/rmap.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 45 insertions(+)
>>
>> diff --git a/include/linux/rmap.h b/include/linux/rmap.h
>> index a3825ce81102..15433a3d0cbf 100644
>> --- a/include/linux/rmap.h
>> +++ b/include/linux/rmap.h
>> @@ -196,6 +196,8 @@ void page_add_new_anon_rmap(struct page *, struct vm_area_struct *,
>> unsigned long address);
>> void folio_add_new_anon_rmap(struct folio *, struct vm_area_struct *,
>> unsigned long address);
>> +void folio_add_new_anon_rmap_range(struct folio *folio, struct page *page,
>> + int nr, struct vm_area_struct *vma, unsigned long address);
>
> We should update folio_add_new_anon_rmap() to support large() &&
> !folio_test_pmd_mappable() folios instead.
>
> I double checked all places currently using folio_add_new_anon_rmap(),
> and as expected, none actually allocates large() &&
> !folio_test_pmd_mappable() and maps it one by one, which makes the
> cases simpler, i.e.,
> if (!large())
> // the existing basepage case
> else if (!folio_test_pmd_mappable())
> // our new case
> else
> // the existing THP case
I suppose we can merge the new case and existing THP case.
Regards
Yin, Fengwei
>
>> void page_add_file_rmap(struct page *, struct vm_area_struct *,
>> bool compound);
>> void folio_add_file_rmap_range(struct folio *, struct page *, unsigned int nr,
>> diff --git a/mm/rmap.c b/mm/rmap.c
>> index 1d8369549424..4050bcea7ae7 100644
>> --- a/mm/rmap.c
>> +++ b/mm/rmap.c
>> @@ -1305,6 +1305,49 @@ void folio_add_new_anon_rmap(struct folio *folio, struct vm_area_struct *vma,
>> __page_set_anon_rmap(folio, &folio->page, vma, address, 1);
>> }
>>
>> +/**
>> + * folio_add_new_anon_rmap_range - Add mapping to a set of pages within a new
>> + * anonymous potentially large folio.
>> + * @folio: The folio containing the pages to be mapped
>> + * @page: First page in the folio to be mapped
>> + * @nr: Number of pages to be mapped
>> + * @vma: the vm area in which the mapping is added
>> + * @address: the user virtual address of the first page to be mapped
>> + *
>> + * Like folio_add_new_anon_rmap() but batch-maps a range of pages within a folio
>> + * using non-THP accounting. Like folio_add_new_anon_rmap(), the inc-and-test is
>> + * bypassed and the folio does not have to be locked. All pages in the folio are
>> + * individually accounted.
>> + *
>> + * As the folio is new, it's assumed to be mapped exclusively by a single
>> + * process.
>> + */
>> +void folio_add_new_anon_rmap_range(struct folio *folio, struct page *page,
>> + int nr, struct vm_area_struct *vma, unsigned long address)
>> +{
>> + int i;
>> +
>> + VM_BUG_ON_VMA(address < vma->vm_start ||
>> + address + (nr << PAGE_SHIFT) > vma->vm_end, vma);
>
> BTW, VM_BUG_ON* shouldn't be used in new code:
> Documentation/process/coding-style.rst
WARNING: multiple messages have this Message-ID (diff)
From: Yin Fengwei <fengwei.yin@intel.com>
To: Yu Zhao <yuzhao@google.com>, Ryan Roberts <ryan.roberts@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
David Hildenbrand <david@redhat.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "Borislav Petkov" <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>, <linux-kernel@vger.kernel.org>,
<linux-mm@kvack.org>, <linux-alpha@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-ia64@vger.kernel.org>, <linux-m68k@lists.linux-m68k.org>,
<linux-s390@vger.kernel.org>
Subject: Re: [PATCH v1 04/10] mm: Implement folio_add_new_anon_rmap_range()
Date: Wed, 28 Jun 2023 10:17:06 +0800 [thread overview]
Message-ID: <16ea687c-0f10-59ce-885b-811721e4ba50@intel.com> (raw)
In-Reply-To: <CAOUHufZ0ZzHoJXwbzNyZOv74L=XYdZzcxA8SXxLX0MXdykuWRA@mail.gmail.com>
On 6/27/23 15:08, Yu Zhao wrote:
> On Mon, Jun 26, 2023 at 11:14 AM Ryan Roberts <ryan.roberts@arm.com> wrote:
>>
>> Like folio_add_new_anon_rmap() but batch-rmaps a range of pages
>> belonging to a folio, for effciency savings. All pages are accounted as
>> small pages.
>>
>> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
>> ---
>> include/linux/rmap.h | 2 ++
>> mm/rmap.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 45 insertions(+)
>>
>> diff --git a/include/linux/rmap.h b/include/linux/rmap.h
>> index a3825ce81102..15433a3d0cbf 100644
>> --- a/include/linux/rmap.h
>> +++ b/include/linux/rmap.h
>> @@ -196,6 +196,8 @@ void page_add_new_anon_rmap(struct page *, struct vm_area_struct *,
>> unsigned long address);
>> void folio_add_new_anon_rmap(struct folio *, struct vm_area_struct *,
>> unsigned long address);
>> +void folio_add_new_anon_rmap_range(struct folio *folio, struct page *page,
>> + int nr, struct vm_area_struct *vma, unsigned long address);
>
> We should update folio_add_new_anon_rmap() to support large() &&
> !folio_test_pmd_mappable() folios instead.
>
> I double checked all places currently using folio_add_new_anon_rmap(),
> and as expected, none actually allocates large() &&
> !folio_test_pmd_mappable() and maps it one by one, which makes the
> cases simpler, i.e.,
> if (!large())
> // the existing basepage case
> else if (!folio_test_pmd_mappable())
> // our new case
> else
> // the existing THP case
I suppose we can merge the new case and existing THP case.
Regards
Yin, Fengwei
>
>> void page_add_file_rmap(struct page *, struct vm_area_struct *,
>> bool compound);
>> void folio_add_file_rmap_range(struct folio *, struct page *, unsigned int nr,
>> diff --git a/mm/rmap.c b/mm/rmap.c
>> index 1d8369549424..4050bcea7ae7 100644
>> --- a/mm/rmap.c
>> +++ b/mm/rmap.c
>> @@ -1305,6 +1305,49 @@ void folio_add_new_anon_rmap(struct folio *folio, struct vm_area_struct *vma,
>> __page_set_anon_rmap(folio, &folio->page, vma, address, 1);
>> }
>>
>> +/**
>> + * folio_add_new_anon_rmap_range - Add mapping to a set of pages within a new
>> + * anonymous potentially large folio.
>> + * @folio: The folio containing the pages to be mapped
>> + * @page: First page in the folio to be mapped
>> + * @nr: Number of pages to be mapped
>> + * @vma: the vm area in which the mapping is added
>> + * @address: the user virtual address of the first page to be mapped
>> + *
>> + * Like folio_add_new_anon_rmap() but batch-maps a range of pages within a folio
>> + * using non-THP accounting. Like folio_add_new_anon_rmap(), the inc-and-test is
>> + * bypassed and the folio does not have to be locked. All pages in the folio are
>> + * individually accounted.
>> + *
>> + * As the folio is new, it's assumed to be mapped exclusively by a single
>> + * process.
>> + */
>> +void folio_add_new_anon_rmap_range(struct folio *folio, struct page *page,
>> + int nr, struct vm_area_struct *vma, unsigned long address)
>> +{
>> + int i;
>> +
>> + VM_BUG_ON_VMA(address < vma->vm_start ||
>> + address + (nr << PAGE_SHIFT) > vma->vm_end, vma);
>
> BTW, VM_BUG_ON* shouldn't be used in new code:
> Documentation/process/coding-style.rst
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-06-28 2:17 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-26 17:14 [PATCH v1 00/10] variable-order, large folios for anonymous memory Ryan Roberts
2023-06-26 17:14 ` Ryan Roberts
2023-06-26 17:14 ` [PATCH v1 01/10] mm: Expose clear_huge_page() unconditionally Ryan Roberts
2023-06-26 17:14 ` Ryan Roberts
2023-06-27 1:55 ` Yu Zhao
2023-06-27 1:55 ` Yu Zhao
2023-06-27 1:55 ` Yu Zhao
2023-06-27 7:21 ` Ryan Roberts
2023-06-27 7:21 ` Ryan Roberts
2023-06-27 7:21 ` Ryan Roberts
2023-06-27 8:29 ` Yu Zhao
2023-06-27 8:29 ` Yu Zhao
2023-06-27 8:29 ` Yu Zhao
2023-06-27 9:41 ` Ryan Roberts
2023-06-27 9:41 ` Ryan Roberts
2023-06-27 9:41 ` Ryan Roberts
2023-06-27 18:26 ` Yu Zhao
2023-06-27 18:26 ` Yu Zhao
2023-06-27 18:26 ` Yu Zhao
2023-06-28 10:56 ` Ryan Roberts
2023-06-28 10:56 ` Ryan Roberts
2023-06-28 10:56 ` Ryan Roberts
2023-06-26 17:14 ` [PATCH v1 02/10] mm: pass gfp flags and order to vma_alloc_zeroed_movable_folio() Ryan Roberts
2023-06-26 17:14 ` Ryan Roberts
2023-06-27 2:27 ` Yu Zhao
2023-06-27 2:27 ` Yu Zhao
2023-06-27 2:27 ` Yu Zhao
2023-06-27 7:27 ` Ryan Roberts
2023-06-27 7:27 ` Ryan Roberts
2023-06-27 7:27 ` Ryan Roberts
2023-06-26 17:14 ` [PATCH v1 03/10] mm: Introduce try_vma_alloc_movable_folio() Ryan Roberts
2023-06-26 17:14 ` Ryan Roberts
2023-06-27 2:34 ` Yu Zhao
2023-06-27 2:34 ` Yu Zhao
2023-06-27 2:34 ` Yu Zhao
2023-06-27 5:29 ` Yu Zhao
2023-06-27 5:29 ` Yu Zhao
2023-06-27 5:29 ` Yu Zhao
2023-06-27 7:56 ` Ryan Roberts
2023-06-27 7:56 ` Ryan Roberts
2023-06-27 7:56 ` Ryan Roberts
2023-06-28 2:32 ` Yin Fengwei
2023-06-28 2:32 ` Yin Fengwei
2023-06-28 2:32 ` Yin Fengwei
2023-06-28 11:06 ` Ryan Roberts
2023-06-28 11:06 ` Ryan Roberts
2023-06-26 17:14 ` [PATCH v1 04/10] mm: Implement folio_add_new_anon_rmap_range() Ryan Roberts
2023-06-26 17:14 ` Ryan Roberts
2023-06-27 7:08 ` Yu Zhao
2023-06-27 7:08 ` Yu Zhao
2023-06-27 7:08 ` Yu Zhao
2023-06-27 8:09 ` Ryan Roberts
2023-06-27 8:09 ` Ryan Roberts
2023-06-27 8:09 ` Ryan Roberts
2023-06-28 2:20 ` Yin Fengwei
2023-06-28 2:20 ` Yin Fengwei
2023-06-28 2:20 ` Yin Fengwei
2023-06-28 11:09 ` Ryan Roberts
2023-06-28 11:09 ` Ryan Roberts
2023-06-28 11:09 ` Ryan Roberts
2023-06-28 2:17 ` Yin Fengwei [this message]
2023-06-28 2:17 ` Yin Fengwei
2023-06-28 2:17 ` Yin Fengwei
2023-06-26 17:14 ` [PATCH v1 05/10] mm: Implement folio_remove_rmap_range() Ryan Roberts
2023-06-26 17:14 ` Ryan Roberts
2023-06-27 3:06 ` Yu Zhao
2023-06-27 3:06 ` Yu Zhao
2023-06-27 3:06 ` Yu Zhao
2023-06-26 17:14 ` [PATCH v1 06/10] mm: Allow deferred splitting of arbitrary large anon folios Ryan Roberts
2023-06-26 17:14 ` Ryan Roberts
2023-06-27 2:54 ` Yu Zhao
2023-06-27 2:54 ` Yu Zhao
2023-06-27 2:54 ` Yu Zhao
2023-06-28 2:43 ` Yin Fengwei
2023-06-28 2:43 ` Yin Fengwei
2023-06-28 2:43 ` Yin Fengwei
2023-06-26 17:14 ` [PATCH v1 07/10] mm: Batch-zap large anonymous folio PTE mappings Ryan Roberts
2023-06-26 17:14 ` Ryan Roberts
2023-06-27 3:04 ` Yu Zhao
2023-06-27 3:04 ` Yu Zhao
2023-06-27 3:04 ` Yu Zhao
2023-06-27 9:46 ` Ryan Roberts
2023-06-27 9:46 ` Ryan Roberts
2023-06-27 9:46 ` Ryan Roberts
2023-06-26 17:14 ` [PATCH v1 08/10] mm: Kconfig hooks to determine max anon folio allocation order Ryan Roberts
2023-06-26 17:14 ` Ryan Roberts
2023-06-27 2:47 ` Yu Zhao
2023-06-27 2:47 ` Yu Zhao
2023-06-27 2:47 ` Yu Zhao
2023-06-27 9:54 ` Ryan Roberts
2023-06-27 9:54 ` Ryan Roberts
2023-06-27 9:54 ` Ryan Roberts
2023-06-29 1:38 ` Yang Shi
2023-06-29 1:38 ` Yang Shi
2023-06-29 1:38 ` Yang Shi
2023-06-29 11:31 ` Ryan Roberts
2023-06-29 11:31 ` Ryan Roberts
2023-06-29 11:31 ` Ryan Roberts
2023-06-26 17:14 ` [PATCH v1 09/10] arm64: mm: Declare support for large anonymous folios Ryan Roberts
2023-06-26 17:14 ` Ryan Roberts
2023-06-27 2:53 ` Yu Zhao
2023-06-27 2:53 ` Yu Zhao
2023-06-27 2:53 ` Yu Zhao
2023-06-26 17:14 ` [PATCH v1 10/10] mm: Allocate large folios for anonymous memory Ryan Roberts
2023-06-26 17:14 ` Ryan Roberts
2023-06-27 3:01 ` Yu Zhao
2023-06-27 3:01 ` Yu Zhao
2023-06-27 3:01 ` Yu Zhao
2023-06-27 9:57 ` Ryan Roberts
2023-06-27 9:57 ` Ryan Roberts
2023-06-27 9:57 ` Ryan Roberts
2023-06-27 18:33 ` Yu Zhao
2023-06-27 18:33 ` Yu Zhao
2023-06-27 18:33 ` Yu Zhao
2023-06-29 2:13 ` Yang Shi
2023-06-29 2:13 ` Yang Shi
2023-06-29 2:13 ` Yang Shi
2023-06-29 11:30 ` Ryan Roberts
2023-06-29 11:30 ` Ryan Roberts
2023-06-29 11:30 ` Ryan Roberts
2023-06-29 17:05 ` Yang Shi
2023-06-29 17:05 ` Yang Shi
2023-06-29 17:05 ` Yang Shi
2023-06-27 3:30 ` [PATCH v1 00/10] variable-order, " Yu Zhao
2023-06-27 3:30 ` Yu Zhao
2023-06-27 3:30 ` Yu Zhao
2023-06-27 7:49 ` Yu Zhao
2023-06-27 7:49 ` Yu Zhao
2023-06-27 7:49 ` Yu Zhao
2023-06-27 9:59 ` Ryan Roberts
2023-06-27 9:59 ` Ryan Roberts
2023-06-27 9:59 ` Ryan Roberts
2023-06-28 18:22 ` Yu Zhao
2023-06-28 18:22 ` Yu Zhao
2023-06-28 23:59 ` Yin Fengwei
2023-06-28 23:59 ` Yin Fengwei
2023-06-28 23:59 ` Yin Fengwei
2023-06-29 0:27 ` Yu Zhao
2023-06-29 0:27 ` Yu Zhao
2023-06-29 0:27 ` Yu Zhao
2023-06-29 0:31 ` Yin Fengwei
2023-06-29 0:31 ` Yin Fengwei
2023-06-29 0:31 ` Yin Fengwei
2023-06-29 15:28 ` Ryan Roberts
2023-06-29 15:28 ` Ryan Roberts
2023-06-29 2:21 ` Yang Shi
2023-06-29 2:21 ` Yang Shi
2023-06-29 2:21 ` Yang Shi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=16ea687c-0f10-59ce-885b-811721e4ba50@intel.com \
--to=fengwei.yin@intel.com \
--cc=akpm@linux-foundation.org \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=dave.hansen@linux.intel.com \
--cc=david@redhat.com \
--cc=geert@linux-m68k.org \
--cc=hpa@zytor.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=linux-mm@kvack.org \
--cc=mingo@redhat.com \
--cc=ryan.roberts@arm.com \
--cc=svens@linux.ibm.com \
--cc=tglx@linutronix.de \
--cc=will@kernel.org \
--cc=willy@infradead.org \
--cc=yuzhao@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.