Re: Fwd: [Lse-tech] get_pid() performance fix

OGAWA Hirofumi
2002-03-05T16:27:20Z

Hubertus Franke <frankeh@watson.ibm.com> writes:

> @@ -153,13 +155,18 @@
> if(last_pid & 0xffff8000)
> last_pid = 300;
> next_safe = PID_MAX;
> + goto repeat;
> }
> - goto repeat;
> + if(unlikely(last_pid == beginpid))
> + goto nomorepids;
> + continue;

It isn't guaranteed that pid is unique.

In the case:
task->pid = 300, task->xxx = 301
pid 301 is free

This get_pid() returns 301.

Regards.
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>