Re: [PATCH] mm/THP: Use the right function when updating access flags

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

 



Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> writes:

> On Tue,  7 May 2013 02:19:48 +0530 "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> wrote:
>
>> From: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
>> 
>> We should use pmdp_set_access_flags to update access flags. Archs like powerpc
>> use extra checks(_PAGE_BUSY) when updating a hugepage PTE. A set_pmd_at doesn't
>> do those checks. We should use set_pmd_at only when updating a none hugepage PTE.
>> 
>> ...
>>
>> --- a/mm/huge_memory.c
>> +++ b/mm/huge_memory.c
>> @@ -1265,7 +1265,9 @@ struct page *follow_trans_huge_pmd(struct vm_area_struct *vma,
>>  		 * young bit, instead of the current set_pmd_at.
>>  		 */
>>  		_pmd = pmd_mkyoung(pmd_mkdirty(*pmd));
>> -		set_pmd_at(mm, addr & HPAGE_PMD_MASK, pmd, _pmd);
>> +		if (pmdp_set_access_flags(vma, addr & HPAGE_PMD_MASK,
>> +					  pmd, _pmd,  1))
>> +			update_mmu_cache_pmd(vma, addr, pmd);
>>  	}
>>  	if ((flags & FOLL_MLOCK) && (vma->vm_flags & VM_LOCKED)) {
>>  		if (page->mapping && trylock_page(page)) {
>
> <canned message>
> When writing a changelog, please describe the end-user-visible effects
> of the bug, so that others can more easily decide which kernel
> version(s) should be fixed, and so that downstream kernel maintainers
> can more easily work out whether this patch will fix a problem which
> they or their customers are observing.

I found that reading code while debugging some crashes with THP on
ppc64. So user visible effects would mostly be some random crashes. 
I will make sure to document the user visible effects next time.

-aneesh

--
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]