Re: [PATCH -v3 08/10] mm, THP: Add can_split_huge_page()

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

 



Hi, Kirill,

Thanks for your comments!

"Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> writes:
> On Wed, Sep 07, 2016 at 09:46:07AM -0700, Huang, Ying wrote:
>> From: Huang Ying <ying.huang@xxxxxxxxx>
>> 
>> Separates checking whether we can split the huge page from
>> split_huge_page_to_list() into a function.  This will help to check that
>> before splitting the THP (Transparent Huge Page) really.
>> 
>> This will be used for delaying splitting THP during swapping out.  Where
>> for a THP, we will allocate a swap cluster, add the THP into the swap
>> cache, then split the THP.  To avoid the unnecessary operations for the
>> un-splittable THP, we will check that firstly.
>> 
>> There is no functionality change in this patch.
>> 
>> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
>> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
>> Cc: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx>
>> Signed-off-by: "Huang, Ying" <ying.huang@xxxxxxxxx>
>> ---
>>  include/linux/huge_mm.h |  6 ++++++
>>  mm/huge_memory.c        | 13 ++++++++++++-
>>  2 files changed, 18 insertions(+), 1 deletion(-)
>> 
>> diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h
>> index 9b9f65d..a0073e7 100644
>> --- a/include/linux/huge_mm.h
>> +++ b/include/linux/huge_mm.h
>> @@ -94,6 +94,7 @@ extern unsigned long thp_get_unmapped_area(struct file *filp,
>>  extern void prep_transhuge_page(struct page *page);
>>  extern void free_transhuge_page(struct page *page);
>>  
>> +bool can_split_huge_page(struct page *page);
>>  int split_huge_page_to_list(struct page *page, struct list_head *list);
>>  static inline int split_huge_page(struct page *page)
>>  {
>> @@ -176,6 +177,11 @@ static inline void prep_transhuge_page(struct page *page) {}
>>  
>>  #define thp_get_unmapped_area	NULL
>>  
>> +static inline bool
>> +can_split_huge_page(struct page *page)
>> +{
>
> BUILD_BUG() should be appropriate here.

Yes.  Will add it.

>> +	return false;
>> +}

Best Regards,
Huang, Ying

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]