Re: [PATCH] Fix a race in pid generation that causes pids to be reused immediately.

Linus Torvalds
2010-06-10T00:20:53Z

On Wed, 9 Jun 2010, Salman Qazi wrote:
>
> I don't think this gives the right answer in the a < base < b case.
> Here a - base < 0 and
> b - base > 0. But we really want b to be before a, since a has rolled
> over further than b.

Right you are.

> I think the right solution is comparing (a - base + max_pid) % max_pid
> with (b - base + max_pid) % max_pid. Am I correct or deluded? .

That would work, but it would be horrible. Just use the three compares
version: doing a integer 'mod' operator is _way_ more expensive.

Linus