On Wed, Jan 27, 2021 at 09:00:27AM +, Zhang, Qiang wrote:
>
>
>
> 发件人: Uladzislau Rezki
> 发送时间: 2021年1月26日 22:07
> 收件人: 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 +, Zhang, Qiang wrote:
> > >
> > >
> > >
> > > 发件人: Uladzislau Rezki
> > > 发送时间: 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
> > > > >
> > > > > 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
> > > >
> > > >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
>
> I agree. it can be done in shrink callback, can release the currently
> existing per-cpu
> page cache.
>
Would not you mind to send a patch? If you need some input, i am happy
to participate.
Thanks!
--
Vlad Rezki