Re: [PATCH v9 06/20] mm/thp: narrow lru locking

From: Alex Shi
Date: Wed Mar 04 2020 - 03:52:01 EST




在 2020/3/4 下午4:02, Kirill A. Shutemov 写道:
> On Mon, Mar 02, 2020 at 07:00:16PM +0800, Alex Shi wrote:
>> @@ -2564,6 +2565,9 @@ static void __split_huge_page(struct page *page, struct list_head *list,
>> xa_lock(&swap_cache->i_pages);
>> }
>>
>> + /* Lru list would be changed, don't care head's LRU bit. */
>> + spin_lock_irqsave(&pgdat->lru_lock, flags);
>> +
>> for (i = HPAGE_PMD_NR - 1; i >= 1; i--) {
>> __split_huge_page_tail(head, i, lruvec, list);
>> /* Some pages can be beyond i_size: drop them from page cache */
>
> You change locking order WRT i_pages lock. Is it safe?
>

Thanks Kirill,

I think so. and lock_dep/proving has no complain.

Any problem addressed?

Alex