From: Eric Dumazet <eric.dumazet@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "Changli Gao" <xiaosuo@gmail.com>,
"Américo Wang" <xiyou.wangcong@gmail.com>,
"Jiri Slaby" <jslaby@suse.cz>, azurIt <azurit@pobox.sk>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-fsdevel@vger.kernel.org, "Jiri Slaby" <jirislaby@gmail.com>,
"Mel Gorman" <mel@csn.ul.ie>
Subject: Re: Regression from 2.6.36
Date: Thu, 14 Apr 2011 08:31:58 +0200 [thread overview]
Message-ID: <1302762718.3549.229.camel@edumazet-laptop> (raw)
In-Reply-To: <20110413222803.38e42baf.akpm@linux-foundation.org>
Le mercredi 13 avril 2011 A 22:28 -0700, Andrew Morton a A(C)crit :
> On Thu, 14 Apr 2011 04:10:58 +0200 Eric Dumazet <eric.dumazet@gmail.com> wrote:
>
> > > --- a/fs/file.c~a
> > > +++ a/fs/file.c
> > > @@ -39,14 +39,17 @@ int sysctl_nr_open_max = 1024 * 1024; /*
> > > */
> > > static DEFINE_PER_CPU(struct fdtable_defer, fdtable_defer_list);
> > >
> > > -static inline void *alloc_fdmem(unsigned int size)
> > > +static void *alloc_fdmem(unsigned int size)
> > > {
> > > - void *data;
> > > -
> > > - data = kmalloc(size, GFP_KERNEL|__GFP_NOWARN);
> > > - if (data != NULL)
> > > - return data;
> > > -
> > > + /*
> > > + * Very large allocations can stress page reclaim, so fall back to
> > > + * vmalloc() if the allocation size will be considered "large" by the VM.
> > > + */
> > > + if (size <= (PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER) {
> > > + void *data = kmalloc(size, GFP_KERNEL|__GFP_NOWARN);
> > > + if (data != NULL)
> > > + return data;
> > > + }
> > > return vmalloc(size);
> > > }
> > >
> > > _
> > >
> >
> > Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
> >
> > #define PAGE_ALLOC_COSTLY_ORDER 3
> >
> > On x86_64, this means we try kmalloc() up to 4096 files in fdtable.
>
> Thanks. I added the cc:stable to the changelog.
>
> It'd be nice to get this tested if poss, to confrm that it actually
> fixes things.
>
> Also, Melpoke.
Azurit, could you check how many fds are opened by your apache servers ?
(must be related to number of virtual hosts / acces_log / error_log
files)
Pick one pid from ps list
ps aux | grep apache
ls /proc/{pid_of_one_apache}/fd | wc -l
or
lsof -p { pid_of_one_apache} | tail -n 2
apache2 8501 httpadm 13w REG 104,7 2350407 3866638 /data/logs/httpd/rewrites.log
apache2 8501 httpadm 14r 0000 0,10 0 263148343 eventpoll
Here it's "14"
Thanks
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-04-14 6:32 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20110315132527.130FB80018F1@mail1005.cent>
[not found] ` <20110317001519.GB18911@kroah.com>
[not found] ` <20110407120112.E08DCA03@pobox.sk>
2011-04-07 10:19 ` Jiri Slaby
2011-04-07 11:21 ` Américo Wang
2011-04-07 11:57 ` Eric Dumazet
2011-04-07 12:13 ` Eric Dumazet
2011-04-07 15:27 ` Changli Gao
2011-04-07 15:36 ` Eric Dumazet
2011-04-12 22:49 ` Andrew Morton
2011-04-13 1:23 ` Changli Gao
2011-04-13 1:31 ` Andrew Morton
2011-04-13 2:37 ` Eric Dumazet
2011-04-13 6:54 ` Regarding memory fragmentation using malloc Pintu Agarwal
2011-04-13 11:44 ` Américo Wang
2011-04-13 13:56 ` Pintu Agarwal
2011-04-13 15:25 ` Michal Nazarewicz
2011-04-14 6:44 ` Pintu Agarwal
2011-04-14 10:47 ` Michal Nazarewicz
2011-04-14 12:24 ` Pintu Agarwal
2011-04-14 12:31 ` Michal Nazarewicz
2011-04-13 21:16 ` Regression from 2.6.36 Andrew Morton
2011-04-13 21:24 ` Andrew Morton
2011-04-19 19:29 ` azurIt
2011-04-19 19:55 ` Andrew Morton
2011-04-13 21:44 ` David Rientjes
2011-04-13 21:54 ` Andrew Morton
2011-04-14 2:10 ` Eric Dumazet
2011-04-14 5:28 ` Andrew Morton
2011-04-14 6:31 ` Eric Dumazet [this message]
2011-04-14 9:08 ` azurIt
2011-04-14 10:27 ` Eric Dumazet
2011-04-14 10:31 ` azurIt
2011-04-14 10:25 ` Mel Gorman
2011-04-15 9:59 ` azurIt
2011-04-15 10:47 ` Mel Gorman
2011-04-15 10:56 ` azurIt
2011-04-15 11:17 ` Mel Gorman
2011-04-15 11:36 ` azurIt
2011-04-15 13:01 ` Mel Gorman
2011-04-15 13:21 ` azurIt
2011-04-15 14:15 ` Mel Gorman
2011-04-08 12:25 ` azurIt
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=1302762718.3549.229.camel@edumazet-laptop \
--to=eric.dumazet@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=azurit@pobox.sk \
--cc=jirislaby@gmail.com \
--cc=jslaby@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=xiaosuo@gmail.com \
--cc=xiyou.wangcong@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox