2020-07-11 01:00:49

by Alex Shi

[permalink] [raw]
Subject: [PATCH v16 21/22] mm/pgdat: remove pgdat lru_lock

Now pgdat.lru_lock was replaced by lruvec lock. It's not used anymore.

Signed-off-by: Alex Shi <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Konstantin Khlebnikov <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
include/linux/mmzone.h | 1 -
mm/page_alloc.c | 1 -
2 files changed, 2 deletions(-)

diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 36c1680efd90..8d7318ce5f62 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -735,7 +735,6 @@ struct deferred_split {

/* Write-intensive fields used by page reclaim */
ZONE_PADDING(_pad1_)
- spinlock_t lru_lock;

#ifdef CONFIG_DEFERRED_STRUCT_PAGE_INIT
/*
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index e028b87ce294..4d7df42b32d6 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -6721,7 +6721,6 @@ static void __meminit pgdat_init_internals(struct pglist_data *pgdat)
init_waitqueue_head(&pgdat->pfmemalloc_wait);

pgdat_page_ext_init(pgdat);
- spin_lock_init(&pgdat->lru_lock);
lruvec_init(&pgdat->__lruvec);
}

--
1.8.3.1


2020-07-17 21:10:49

by Alexander Duyck

[permalink] [raw]
Subject: Re: [PATCH v16 21/22] mm/pgdat: remove pgdat lru_lock

On Fri, Jul 10, 2020 at 5:59 PM Alex Shi <[email protected]> wrote:
>
> Now pgdat.lru_lock was replaced by lruvec lock. It's not used anymore.
>
> Signed-off-by: Alex Shi <[email protected]>
> Cc: Andrew Morton <[email protected]>
> Cc: Konstantin Khlebnikov <[email protected]>
> Cc: Hugh Dickins <[email protected]>
> Cc: Johannes Weiner <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
> include/linux/mmzone.h | 1 -
> mm/page_alloc.c | 1 -
> 2 files changed, 2 deletions(-)
>
> diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
> index 36c1680efd90..8d7318ce5f62 100644
> --- a/include/linux/mmzone.h
> +++ b/include/linux/mmzone.h
> @@ -735,7 +735,6 @@ struct deferred_split {
>
> /* Write-intensive fields used by page reclaim */
> ZONE_PADDING(_pad1_)
> - spinlock_t lru_lock;
>
> #ifdef CONFIG_DEFERRED_STRUCT_PAGE_INIT
> /*
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index e028b87ce294..4d7df42b32d6 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -6721,7 +6721,6 @@ static void __meminit pgdat_init_internals(struct pglist_data *pgdat)
> init_waitqueue_head(&pgdat->pfmemalloc_wait);
>
> pgdat_page_ext_init(pgdat);
> - spin_lock_init(&pgdat->lru_lock);
> lruvec_init(&pgdat->__lruvec);
> }
>

This patch would probably make more sense as part of patch 18 since
you removed all of the users of this field there.

2020-07-18 14:21:32

by Alex Shi

[permalink] [raw]
Subject: Re: [PATCH v16 21/22] mm/pgdat: remove pgdat lru_lock



在 2020/7/18 上午5:09, Alexander Duyck 写道:
>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
>> index e028b87ce294..4d7df42b32d6 100644
>> --- a/mm/page_alloc.c
>> +++ b/mm/page_alloc.c
>> @@ -6721,7 +6721,6 @@ static void __meminit pgdat_init_internals(struct pglist_data *pgdat)
>> init_waitqueue_head(&pgdat->pfmemalloc_wait);
>>
>> pgdat_page_ext_init(pgdat);
>> - spin_lock_init(&pgdat->lru_lock);
>> lruvec_init(&pgdat->__lruvec);
>> }
>>
> This patch would probably make more sense as part of patch 18 since
> you removed all of the users of this field there.


yes, I just want to a bit of sense of ceremony to remove this huge big lock. :)