> ________________________________________
> 发件人: Uladzislau Rezki <ure...@gmail.com>
> 发送时间: 2021年1月22日 22:31
> 收件人: Zhang, Qiang
> 抄送: Uladzislau Rezki; Paul E. McKenney; r...@vger.kernel.org; 
> linux-kernel@vger.kernel.org
> 主题: Re: 回复: [PATCH] rcu: Release per-cpu krcp page cache when CPU going 
> offline
> 
> On Fri, Jan 22, 2021 at 01:44:36AM +0000, Zhang, Qiang wrote:
> >
> >
> > ________________________________________
> > 发件人: Uladzislau Rezki <ure...@gmail.com>
> > 发送时间: 2021年1月22日 4:26
> > 收件人: Zhang, Qiang
> > 抄送: Paul E. McKenney; r...@vger.kernel.org; linux-kernel@vger.kernel.org; 
> > ure...@gmail.com
> > 主题: Re: [PATCH] rcu: Release per-cpu krcp page cache when CPU going offline
> > >Hello, Qiang,
> >
> > > On Thu, Jan 21, 2021 at 02:49:49PM +0800, qiang.zh...@windriver.com wrote:
> > > > From: Zqiang <qiang.zh...@windriver.com>
> > > >
> > > > If CPUs go offline, the corresponding krcp's page cache can
> > > > not be use util the CPU come back online, or maybe the CPU
> > > > will never go online again, this commit therefore free krcp's
> > > > page cache when CPUs go offline.
> > > >
> > > > Signed-off-by: Zqiang <qiang.zh...@windriver.com>
> > >
> > >Do you consider it as an issue? We have 5 pages per CPU, that is 20480 
> > >bytes.
> > >
> >
> > Hello Rezki
> >
> > In a multi CPUs system, more than one CPUs may be offline, there are more 
> > than 5 pages,  and these offline CPUs may never go online again  or  in the 
> > process of CPUs online, there are errors, which lead to the failure of 
> > online, these scenarios will lead to the per-cpu krc page cache will never 
> > be released.
> >
> >Thanks for your answer. I was thinking more about if you knew some >platforms
> >which suffer from such extra page usage when CPU goes offline. Any >issues
> >your platforms or devices run into because of that.
> >
> >So i understand that if CPU goes offline the 5 pages associated with it >are
> >unused until it goes online back.
> 
>  I agree with you, But I still want to talk about what I think
> 
>  My understanding is that when the CPU is offline,  the pages is not 
>  accessible,  beacuse we don't know when this CPU will 
>  go online again, so we best to return these page to the buddy system,
>  when the CPU goes online again, we can allocate page from the buddy 
>  system to fill krcp's page cache.  maybe you may think that this memory 
>  is small and don't need to. 
>  
BTW, we can release the caches via shrinker path instead, what is more makes
sense to me. We already have a callback, that frees pages when a page allocator
asks for it. I think in that case it would be fair to return it to the buddy
system. It happens under low memory condition or can be done manually to flush
system caches:

echo 3 > /proc/sys/vm/drop_caches

What do you think?

--
Vlad Rezki

Reply via email to