On Wed 16-12-20 13:52:13, Hui Su wrote:
> the rcu_read_lock and rcu_read_unlock is unnecessary in:
>       lock_page_lruvec()
>       lock_page_lruvec_irq()
>       lock_page_lruvec_irqsave()

Please add an explanation why it is unnecessary.

> Signed-off-by: Hui Su <sh_...@163.com>
> ---
>  mm/memcontrol.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index e3c7ca7dc174..a19f820e8a3f 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1396,10 +1396,8 @@ struct lruvec *lock_page_lruvec(struct page *page)
>       struct lruvec *lruvec;
>       struct pglist_data *pgdat = page_pgdat(page);
>  
> -     rcu_read_lock();
>       lruvec = mem_cgroup_page_lruvec(page, pgdat);
>       spin_lock(&lruvec->lru_lock);
> -     rcu_read_unlock();
>  
>       lruvec_memcg_debug(lruvec, page);
>  
> @@ -1411,10 +1409,8 @@ struct lruvec *lock_page_lruvec_irq(struct page *page)
>       struct lruvec *lruvec;
>       struct pglist_data *pgdat = page_pgdat(page);
>  
> -     rcu_read_lock();
>       lruvec = mem_cgroup_page_lruvec(page, pgdat);
>       spin_lock_irq(&lruvec->lru_lock);
> -     rcu_read_unlock();
>  
>       lruvec_memcg_debug(lruvec, page);
>  
> @@ -1426,10 +1422,8 @@ struct lruvec *lock_page_lruvec_irqsave(struct page 
> *page, unsigned long *flags)
>       struct lruvec *lruvec;
>       struct pglist_data *pgdat = page_pgdat(page);
>  
> -     rcu_read_lock();
>       lruvec = mem_cgroup_page_lruvec(page, pgdat);
>       spin_lock_irqsave(&lruvec->lru_lock, *flags);
> -     rcu_read_unlock();
>  
>       lruvec_memcg_debug(lruvec, page);
>  
> -- 
> 2.29.2

-- 
Michal Hocko
SUSE Labs

Reply via email to