From: Kirill Korotaev <dev@sw.ru>
To: balbir@in.ibm.com
Cc: Neil Brown <neilb@suse.de>, Balbir Singh <bsingharora@gmail.com>,
linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
Olaf Hering <olh@suse.de>, Jan Blunck <jblunck@suse.de>,
Kirill Korotaev <dev@openvz.org>, Al Viro <viro@ftp.linux.org.uk>
Subject: Re: [PATCH] Busy inodes after unmount, be more verbose in generic_shutdown_super
Date: Tue, 07 Mar 2006 10:21:25 +0300 [thread overview]
Message-ID: <440D3475.4040603@sw.ru> (raw)
In-Reply-To: <20060307070301.GA12165@in.ibm.com>
>>No, it looks as it is not :(
>>Have you noticed my comment about "count" argument to prune_dcache()?
>>For example, prune_dcache() is called from shrink_dcache_parent() which
>>is called in many places and not all of them have PF_MEMALLOC or
>>s_umount semaphore for write. But prune_dcache() doesn't care for super
>>blocks etc. It simply shrinks N dentries which are found _first_.
>>
>>So the condition:
>>+ if ((current->flags & PF_MEMALLOC) &&
>>+ !(ret = down_read_trylock(&s->s_umount))) {
>>is not always true when the race occurs, as PF_MEMALLOC is not always set.
>
>
> I understand your comment about shrink_dcache_parent() being called
> from several places. prune_one_dentry() would eventually dput the parent,
> but unmount would go ahead and unmount the filesystem before the
> dput of the parent could happen.
exactly.
> Given that background, I thought our main concern was with respect to
> unmount. The race was between shrink_dcache_parent() (called from unmount)
> and shrink_dcache_memory() (called from the allocator), hence the fix
> for the race condition.
Partial fix doesn't make much sense from my point of view.
> I just noticied that 2.6.16-rc* now seems to have drop_slab() where
> PF_MEMALLOC is not set. So, we can still race with my fix if there
> if /proc/sys/vm/drop_caches is written to and unmount is done in parallel.
>
> A simple hack would be to set PF_MEMALLOC in drop_slab(), but I do not
> think it is a good idea.
Yeah, playing with PF_MEMALLOC can be not so good idea :/
And as it doesn't help in other cases it looks unpromising...
>>>Have you had any other feedback on this?
>>here it is :)
> Thanks for your detailed feedback
Sorry, that I did it too late :/
Thanks,
Kirill
next prev parent reply other threads:[~2006-03-07 7:16 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-02 6:57 [PATCH] Busy inodes after unmount, be more verbose in generic_shutdown_super Neil Brown
2006-03-02 10:48 ` Jan Blunck
2006-03-03 11:42 ` Jan Blunck
2006-03-06 6:09 ` Neil Brown
2006-03-06 7:32 ` Balbir Singh
2006-03-07 1:58 ` Neil Brown
2006-03-07 2:49 ` Balbir Singh
2006-03-07 6:22 ` Kirill Korotaev
2006-03-07 6:16 ` Kirill Korotaev
2006-03-07 7:03 ` Balbir Singh
2006-03-07 7:21 ` Kirill Korotaev [this message]
2006-03-07 11:05 ` Balbir Singh
2006-03-08 0:29 ` Neil Brown
2006-03-08 2:17 ` Balbir Singh
2006-03-08 2:39 ` Neil Brown
2006-03-08 3:05 ` Balbir Singh
2006-03-08 11:01 ` Jan Blunck
2006-03-06 11:56 ` Jan Blunck
2006-03-07 2:15 ` Neil Brown
2006-03-06 11:56 ` Kirill Korotaev
2006-03-07 2:01 ` Neil Brown
2006-03-07 6:20 ` Kirill Korotaev
2006-03-07 23:20 ` Neil Brown
2006-03-09 12:03 ` Kirill Korotaev
-- strict thread matches above, loose matches on Subject: below --
2006-01-16 22:34 Olaf Hering
2006-01-16 23:23 ` Kirill Korotaev
2006-01-16 23:29 ` Olaf Hering
2006-01-17 2:05 ` Andrew Morton
2006-01-17 7:03 ` Kirill Korotaev
2006-01-18 22:49 ` Jan Blunck
2006-01-18 23:10 ` Andrew Morton
2006-01-19 10:08 ` Kirill Korotaev
2006-01-19 9:52 ` Kirill Korotaev
2006-01-19 10:04 ` Jan Blunck
2006-01-19 10:26 ` Kirill Korotaev
2006-01-20 19:06 ` Jan Blunck
2006-01-23 8:14 ` Kirill Korotaev
2006-01-30 11:54 ` Jan Blunck
2006-01-30 14:05 ` Kirill Korotaev
2006-01-30 14:21 ` Jan Blunck
2006-01-30 14:34 ` Kirill Korotaev
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=440D3475.4040603@sw.ru \
--to=dev@sw.ru \
--cc=akpm@osdl.org \
--cc=balbir@in.ibm.com \
--cc=bsingharora@gmail.com \
--cc=dev@openvz.org \
--cc=jblunck@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=neilb@suse.de \
--cc=olh@suse.de \
--cc=viro@ftp.linux.org.uk \
/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.