Messages in this thread | | | Date | Wed, 19 Nov 2008 09:35:15 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 2/2] udf: reduce stack usage of udf_get_filename |
| |
On Wed, 19 Nov 2008 16:26:22 +0100 Jan Kara <jack@suse.cz> wrote:
> On Tue 18-11-08 16:19:38, Andrew Morton wrote: > > On Sun, 16 Nov 2008 19:02:45 +0100 > > Marcin Slusarz <marcin.slusarz@gmail.com> wrote: > > > > > + filename = kmalloc(sizeof(struct ustr), GFP_NOFS); > > > > I suspect that we could have used the superior GFP_KERNEL everywhere in > > both these patches. But I'll let Jan worry about that ;) > Definitely not in the second case - that one is called from inside > readdir, lookup and symlink resolution code so that could lead to deadlocks > IMHO. > Regarding the first case in process_sequence, that is called only from > udf_fill_super(). So there it might be safe to use GFP_KERNEL but I'm not > quite sure either... So I'd leave GFP_NOFS there. >
The reason for using GFP_NOFS is to prevent deadlocks when direct memory reclaim reenters the filesystem code. But I don't think there's ever a case when direct reclaim would enter the namespace part of a filesystem - it is only expected to touch the pagecache (ie: data) operations: writepage(), block allocator, etc.
| |