Re: [PATCH 1/1] threads_max: Simple lockout prevention patch

From: Al Boldi
Date: Mon Apr 24 2006 - 10:48:57 EST


Pekka Enberg wrote:
> On 4/24/06, Al Boldi <a1426z@xxxxxxxxx> wrote:
> > > > Like so?
> > > > if (nr_threads >= max_threads)
> > > > if (p->pid != su_pid)
> > > > goto bad_fork_cleanup_count;
> > >
> > > It's better to combine the two if statements into one with &&.
>
> > I thought of combining them too, but was afraid of some compile
> > optimization issues. Remember, this code-path is executed for each and
> > every fork in the system, thus it's highly performance sensitive.
>
> There shouldn't be any difference.

There shouldn't, if things were perfect.

> What compiler optimizations are you referring to?

-O3 at least.

> Did you study the generated object code?

Not really.

But -O3 creates faster code w/ some strange flaws like failing nfs-boot.
Maybe that's fixed in the latest gcc, but gcc-3.2.2 was exhibiting this bug.
So this doesn't really help a developer to be confident about compiler
optimization, thus taking the safe route for performance sensitive
code-paths.

Thanks!

--
Al

-
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/