> On Aug 2, 2019, at 3:31 AM, Oleg Nesterov wrote:
>
> On 08/01, Song Liu wrote:
>>
>>
>>> On Aug 1, 2019, at 7:50 AM, Oleg Nesterov wrote:
>>>
>>> On 07/31, Song Liu wrote:
+static int khugepaged_add_pte_mapped_thp(struct mm_struct *mm,
+
On 08/01, Song Liu wrote:
>
>
> > On Aug 1, 2019, at 7:50 AM, Oleg Nesterov wrote:
> >
> > On 07/31, Song Liu wrote:
> >>
> >> +static int khugepaged_add_pte_mapped_thp(struct mm_struct *mm,
> >> + unsigned long addr)
> >> +{
> >> + struct mm_slot *mm_slot;
> >>
> On Aug 1, 2019, at 7:50 AM, Oleg Nesterov wrote:
>
> On 07/31, Song Liu wrote:
>>
>> +static int khugepaged_add_pte_mapped_thp(struct mm_struct *mm,
>> + unsigned long addr)
>> +{
>> +struct mm_slot *mm_slot;
>> +int ret = 0;
>> +
>> +/* hold
> On Aug 1, 2019, at 5:43 AM, Oleg Nesterov wrote:
>
> On 07/31, Song Liu wrote:
>>
>> +void collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long haddr)
>> +{
>> +struct vm_area_struct *vma = find_vma(mm, haddr);
>> +pmd_t *pmd = mm_find_pmd(mm, haddr);
>> +struct page *hpa
On 07/31, Song Liu wrote:
>
> +static int khugepaged_add_pte_mapped_thp(struct mm_struct *mm,
> + unsigned long addr)
> +{
> + struct mm_slot *mm_slot;
> + int ret = 0;
> +
> + /* hold mmap_sem for khugepaged_test_exit() */
> + VM_BUG_ON_MM(!rwse
On 07/31, Song Liu wrote:
>
> +void collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long haddr)
> +{
> + struct vm_area_struct *vma = find_vma(mm, haddr);
> + pmd_t *pmd = mm_find_pmd(mm, haddr);
> + struct page *hpage = NULL;
> + unsigned long addr;
> + spinlock_t *ptl;
khugepaged needs exclusive mmap_sem to access page table. When it fails
to lock mmap_sem, the page will fault in as pte-mapped THP. As the page
is already a THP, khugepaged will not handle this pmd again.
This patch enables the khugepaged to retry collapse the page table.
struct mm_slot (in khuge
7 matches
Mail list logo