All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maneesh Soni <maneesh@in.ibm.com>
To: Tejun Heo <htejun@gmail.com>
Cc: Greg KH <greg@kroah.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Clemens Schwaighofer <cs@tequila.co.jp>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Dipankar Sarma <dipankar@in.ibm.com>,
	Chuck Ebbert <cebbert@redhat.com>
Subject: Re: [PATCH -stable] sysfs: disable reclamation by default
Date: Mon, 21 May 2007 10:09:08 +0530	[thread overview]
Message-ID: <20070521043908.GB9214@in.ibm.com> (raw)
In-Reply-To: <464C95AB.3020209@gmail.com>

On Thu, May 17, 2007 at 07:49:31PM +0200, Tejun Heo wrote:
> Maneesh Soni wrote:
> > On Thu, May 17, 2007 at 05:04:23AM -0700, Greg KH wrote:
> >> On Wed, May 16, 2007 at 08:31:00PM +0200, Tejun Heo wrote:
> >>> sd->s_dentry updates made by dentry/inode reclamation are racy and can
> >>> lead to BUG() or oops.  This is already fixed in -mm and the fix is
> >>> scheduled to be merged into upstream for 2.6.23 but the fix
> >>> reimplements sysfs dentry dropping and is too risky for -stable
> >>> kernels.
> >>>
> > 
> > But was the synchronization fix tested by people facing the race? I still
> > don't understand the racy code path. The last google problem I saw had
> > s_dentry field as NULL.
> 
> Please take a look at the following message.
> 
>   http://article.gmane.org/gmane.linux.kernel/521729
> 
> I could reproduce both races on my test machine fairly reliable with
> parallel find, cat, mount/mount while repeatedly ins/rmmoding a libata
> driver.
> 
Thanks for the pointer.. earlier it got buried in the fat rework..


> >>> This is an interim solution for -stable kernels.  sysfs reclamation is
> >>> disabled by default and can be enabled by using sysfs.enable_reclaim
> >>> kernel parameter.  Note that dentries are still created on demand, so
> >>> attribute and symlinks nodes aren't allocated on creation.  They're
> >>> allocated on first lookup and deallocated when the sysfs node is
> >>> removed.
> >> Ick, this is going to kill memory on big boxes (s390 and others) and I
> >> don't really want to apply this it if at all possible.
> >>
> > At least not make it default. This might create boot issues with these
> > boxes. 
> 
> Which makes oopsing the default.  Fun!  :-)
> 
but.. avoid oops by not booting at all is more fun !! ;-)


> >> Maneesh, any other thoughts?
> >>
> > I actually wanted to investigate this oops but left it considering the
> > rework being done by Tejun. If this still make sense we can have some
> > more debug code stuffed there or get a crashdump (kdump) to get better
> > understanding of the race.
> 
> The above message contains analysis of both races.  I just ported the
> fixes.  I have a different test machine now and can't reproduce the
> races with this one yet so I couldn't verify whether the patches
> actually fix the problem.  I'll post the patches anyway.  If anyone can
> reproduce these races, please verify the posted patches fix the problem.
> 

I would prefer fixing the race instead of making attributes non-reclaimable.

Thanks
Maneesh



-- 
Maneesh Soni
Linux Technology Center,
IBM India Systems and Technology Lab, 
Bangalore, India

  parent reply	other threads:[~2007-05-21  4:38 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-16  0:24 Oops and Panics in 2.6.21.1, 2.6.20.6 and 2.6.19.2 Clemens Schwaighofer
2007-05-16  1:52 ` Clemens Schwaighofer
2007-05-16  1:53 ` Andrew Morton
2007-05-16  2:02   ` Clemens Schwaighofer
2007-05-16  2:46   ` Clemens Schwaighofer
2007-05-16  3:18     ` Andrew Morton
2007-05-16 11:05   ` Tejun Heo
2007-05-16 15:29     ` Andrew Morton
2007-05-16 15:40       ` Tejun Heo
2007-05-16 16:06         ` Chuck Ebbert
2007-05-16 16:13         ` Andrew Morton
2007-05-16 18:31           ` [PATCH -stable] sysfs: disable reclamation by default Tejun Heo
2007-05-17 12:04             ` Greg KH
2007-05-17 17:39               ` Maneesh Soni
2007-05-17 17:49                 ` Tejun Heo
2007-05-17 17:52                   ` [PATCH 1/2] sysfs: fix condition check in sysfs_drop_dentry() Tejun Heo
2007-05-21  4:35                     ` Maneesh Soni
2007-05-17 17:59                   ` [PATCH 2/2] sysfs: fix race condition around sd->s_dentry Tejun Heo
2007-05-17 18:16                     ` [PATCH 2/2] sysfs: fix race condition around sd->s_dentry, take#2 Tejun Heo
2007-05-21  5:01                       ` Maneesh Soni
2007-05-21 16:02                         ` Eric Sandeen
2007-05-21 16:15                           ` Tejun Heo
2007-05-22 22:38                         ` Greg KH
2007-05-23  8:21                           ` Tejun Heo
2007-06-08 14:35                             ` Tejun Heo
2007-06-09  6:49                               ` Tejun Heo
2007-06-10 16:18                                 ` Greg KH
2007-05-21  4:39                   ` Maneesh Soni [this message]
2007-05-17 18:54           ` Oops and Panics in 2.6.21.1, 2.6.20.6 and 2.6.19.2 Eric Sandeen
2007-06-29  2:51 ` Clemens Schwaighofer
2007-06-29  6:12   ` Satyam Sharma
2007-06-29  6:18     ` Clemens Schwaighofer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070521043908.GB9214@in.ibm.com \
    --to=maneesh@in.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=cebbert@redhat.com \
    --cc=cs@tequila.co.jp \
    --cc=dipankar@in.ibm.com \
    --cc=greg@kroah.com \
    --cc=htejun@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.