lkml.org 
[lkml]   [2012]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] vfs: Avoid IPI storm due to bh LRU invalidation
On Mon 06-02-12 21:12:36, Srivatsa S. Bhat wrote:
> On 02/06/2012 07:25 PM, Jan Kara wrote:
>
> > When discovery of lots of disks happen in parallel, we call
> > invalidate_bh_lrus() once for each disk from partitioning code resulting in a
> > storm of IPIs and causing a softlockup detection to fire (it takes several
> > *minutes* for a machine to execute all the invalidate_bh_lrus() calls).
> >
> > Fix the issue by allowing only single invalidation to run using a mutex and let
> > waiters for mutex figure out whether someone invalidated LRUs for them while
> > they were waiting.
> >
> > Signed-off-by: Jan Kara <jack@suse.cz>
> > ---
> > fs/buffer.c | 23 ++++++++++++++++++++++-
> > 1 files changed, 22 insertions(+), 1 deletions(-)
> >
> > I feel this is slightly hacky approach but it works. If someone has better
> > idea, please speak up.
> >
>
>
> Something related that you might be interested in:
> https://lkml.org/lkml/2012/2/5/109
>
> (This is part of Gilad's patchset that tries to reduce cross-CPU IPI
> interference.)
Thanks for the pointer. I didn't know about it. As Hannes wrote, this
need not be enough for our use case as there might indeed be some bhs in
the LRU. But I'd be interested how well the patchset works anyway. Maybe it
would be enough because after all when we invalidate LRUs subsequent
callers will see them empty and not issue IPI? Hannes, can you give a try
to the patches?

Honza
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR


\
 
 \ /
  Last update: 2012-02-06 17:49    [W:0.075 / U:0.640 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site