Re: [PATCH 0/4] Was: deferring __fput()

From: Al Viro
Date: Fri Jun 29 2012 - 04:33:34 EST


On Fri, Jun 29, 2012 at 01:30:38AM -0400, Mimi Zohar wrote:
> On Thu, 2012-06-28 at 05:38 +0100, Al Viro wrote:
> > On Wed, Jun 27, 2012 at 08:37:21PM +0200, Oleg Nesterov wrote:
> > > On 06/25, Oleg Nesterov wrote:
> > > >
> > > > And if it always takes ->pi_lock we do not need the new PF_ or something
> > > > else, exit_task_work() can set task->task_works = NO_MORE under ->pi_lock
> > > > (task_work_run() can check PF_EXITING), and task_work_add() ensures that
> > > > task_works != NO_MORE.
> > > >
> > > > What do you think?
> > >
> > > It is not clear to me if you agree or not. So I am simply sending the
> > > patches I have.
> > >
> > > Feel free to ignore or re-do.
> > >
> > > Seriously, why should we add 2 pointers into task_struct? Sure, this
> > > is minor, but still... But perhaps task_work.c should not play tricks
> > > with the circular list, task_work_run() can reverse the list as you
> > > initially suggested.
> > >
> > > Also, I am not sure about "define rcu_head callback_head", this series
> > > doesn't do this. But again, up to you.
> >
> > Umm... FWIW, my variant circa yesterday is in vfs.git#untested; it seems to survive
> > on uml/amd64 at least. I'll look through your patches and see what can be nicked.
> > The list removal logics in mine looks really ugly ;-/
>
> Still failing to boot. Fails to boot starting with commit "b24dfa6
> switch fput to task_work_add".

Details, please... .config, root fs type, etc. Failed execve() of init is, unfortunately,
not too informative...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/