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;
> >
> > You changed it. No?
>
> Yes, we changed but only the logic that once a pid is busy we start searching
> for every task again. This is exactly the O(n**2) problem.
> Run the program and you'll see.
Run the attached file.
Result,
new pid: 301, 300: pid 300, pgrp 301
new pid == task(300)->pgrp. This get_pid() has bug.
I'm missing something?
-- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
This archive was generated by hypermail 2b29 : Thu Mar 07 2002 - 21:00:49 EST