All,
Sorry about the recent fdtable badness that you all encountered. I'm working
on getting a fix out there.
Dave, Olof, Linas, Bryce,
Could you please test the patch at the bottom of the email to see if it makes
your computers happy again, if you have the time and inclination to do so?
Andrew,
Would you prefer me to resend a fixed patch #4, or a new fix (#5) on top of
what's in your tree?
diff -Npru old/fs/file.c new/fs/file.c
--- old/fs/file.c 2006-10-10 18:58:21.000000000 -0700
+++ new/fs/file.c 2006-10-10 19:01:03.000000000 -0700
@@ -164,9 +164,8 @@ static struct fdtable * alloc_fdtable(un
* the fdarray into page-sized chunks: starting at a quarter of a page,
* and growing in powers of two from there on.
*/
- nr++;
nr /= (PAGE_SIZE / 4 / sizeof(struct file *));
- nr = roundup_pow_of_two(nr);
+ nr = roundup_pow_of_two(nr + 1);
nr *= (PAGE_SIZE / 4 / sizeof(struct file *));
if (nr > NR_OPEN)
nr = NR_OPEN;
On Tue, 10 Oct 2006 19:08:18 -0700
Vadim Lobanov <[email protected]> wrote:
> Would you prefer me to resend a fixed patch #4, or a new fix (#5) on top of
> what's in your tree?
Incremental updates are preferred.
> diff -Npru old/fs/file.c new/fs/file.c
> --- old/fs/file.c 2006-10-10 18:58:21.000000000 -0700
> +++ new/fs/file.c 2006-10-10 19:01:03.000000000 -0700
> @@ -164,9 +164,8 @@ static struct fdtable * alloc_fdtable(un
> * the fdarray into page-sized chunks: starting at a quarter of a page,
> * and growing in powers of two from there on.
> */
> - nr++;
> nr /= (PAGE_SIZE / 4 / sizeof(struct file *));
> - nr = roundup_pow_of_two(nr);
> + nr = roundup_pow_of_two(nr + 1);
> nr *= (PAGE_SIZE / 4 / sizeof(struct file *));
> if (nr > NR_OPEN)
> nr = NR_OPEN;
Like that.
On Tuesday 10 October 2006 19:31, Andrew Morton wrote:
> On Tue, 10 Oct 2006 19:08:18 -0700
>
> Vadim Lobanov <[email protected]> wrote:
> > Would you prefer me to resend a fixed patch #4, or a new fix (#5) on top
> > of what's in your tree?
>
> Incremental updates are preferred.
>
> > diff -Npru old/fs/file.c new/fs/file.c
> > --- old/fs/file.c 2006-10-10 18:58:21.000000000 -0700
> > +++ new/fs/file.c 2006-10-10 19:01:03.000000000 -0700
> > @@ -164,9 +164,8 @@ static struct fdtable * alloc_fdtable(un
> > * the fdarray into page-sized chunks: starting at a quarter of a page,
> > * and growing in powers of two from there on.
> > */
> > - nr++;
> > nr /= (PAGE_SIZE / 4 / sizeof(struct file *));
> > - nr = roundup_pow_of_two(nr);
> > + nr = roundup_pow_of_two(nr + 1);
> > nr *= (PAGE_SIZE / 4 / sizeof(struct file *));
> > if (nr > NR_OPEN)
> > nr = NR_OPEN;
>
> Like that.
I'll wrap the fixes up in incremental patches once the problem has been
eradicated.
On Tue, 2006-10-10 at 19:08 -0700, Vadim Lobanov wrote:
> All,
>
> Sorry about the recent fdtable badness that you all encountered. I'm working
> on getting a fix out there.
>
> Dave, Olof, Linas, Bryce,
>
> Could you please test the patch at the bottom of the email to see if it makes
> your computers happy again, if you have the time and inclination to do so?
The patch works for me. Thanks!
Shaggy
> Andrew,
>
> Would you prefer me to resend a fixed patch #4, or a new fix (#5) on top of
> what's in your tree?
>
> diff -Npru old/fs/file.c new/fs/file.c
> --- old/fs/file.c 2006-10-10 18:58:21.000000000 -0700
> +++ new/fs/file.c 2006-10-10 19:01:03.000000000 -0700
> @@ -164,9 +164,8 @@ static struct fdtable * alloc_fdtable(un
> * the fdarray into page-sized chunks: starting at a quarter of a page,
> * and growing in powers of two from there on.
> */
> - nr++;
> nr /= (PAGE_SIZE / 4 / sizeof(struct file *));
> - nr = roundup_pow_of_two(nr);
> + nr = roundup_pow_of_two(nr + 1);
> nr *= (PAGE_SIZE / 4 / sizeof(struct file *));
> if (nr > NR_OPEN)
> nr = NR_OPEN;
--
David Kleikamp
IBM Linux Technology Center
On Tue, 10 Oct 2006 19:08:18 -0700 Vadim Lobanov <[email protected]> wrote:
> All,
>
> Sorry about the recent fdtable badness that you all encountered. I'm working
> on getting a fix out there.
>
> Dave, Olof, Linas, Bryce,
>
> Could you please test the patch at the bottom of the email to see if it makes
> your computers happy again, if you have the time and inclination to do so?
Looks good to me.
-Olof
On Tue, Oct 10, 2006 at 07:08:18PM -0700, Vadim Lobanov wrote:
>
> Dave, Olof, Linas, Bryce,
>
> Could you please test the patch at the bottom of the email to see if it makes
> your computers happy again, if you have the time and inclination to do so?
>
> +++ new/fs/file.c 2006-10-10 19:01:03.000000000 -0700
> - nr++;
> nr /= (PAGE_SIZE / 4 / sizeof(struct file *));
> - nr = roundup_pow_of_two(nr);
> + nr = roundup_pow_of_two(nr + 1);
This fixed things for me!
--linas