Re: [SCHED] wrong priority calc - SIMPLE test case

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At 02:53 PM 1/10/2006 +0100, Paolo Ornati wrote:
On Tue, 10 Jan 2006 14:01:36 +0100
Mike Galbraith <[email protected]> wrote:

> > > Can you please try this version?  It tries harder to correct any
> >
> >It seems that you have forgotten the to attach the patch...
>
> Drat.  At least I'm not the first to ever do so :)

This version basically works like the the previous, except that it makes
the priority adjustment faster (that is fine).

However I can fool it the same way.

"./a.out 7000"
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5459 paolo     22   0  2392  288  228 S 71.3  0.1   0:09.47 a.out

"./a.out 3000"
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5493 paolo     19   0  2396  292  228 R 49.8  0.1   0:14.42 a.out

"./a.out 1500"
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5495 paolo     18   0  2396  288  228 S 33.4  0.1   0:09.60 a.out


Fooling it:

"./a.out 7000 & ./a.out 6537 & ./a.out 6347 & ./a.out 5873 &"
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5502 paolo     19   0  2392  288  228 R 27.0  0.1   0:05.64 a.out
 5503 paolo     19   0  2396  288  228 R 26.0  0.1   0:07.50 a.out
 5505 paolo     19   0  2396  292  228 R 25.6  0.1   0:07.24 a.out
 5504 paolo     18   0  2392  288  228 R 21.0  0.1   0:06.78 a.out

(priorities fluctuate between 18/19)


Again with more of them:

./a.out 7000 & ./a.out 6537 & ./a.out 6347 & ./a.out 5873& ./a.out 6245 & ./a.out 5467 &

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5525 paolo     18   0  2396  288  228 R 26.4  0.1   0:07.48 a.out
 5521 paolo     19   0  2396  288  228 R 22.0  0.1   0:09.00 a.out
 5524 paolo     19   0  2392  288  228 R 19.6  0.1   0:07.21 a.out
 5523 paolo     19   0  2392  288  228 R 13.0  0.1   0:10.60 a.out
 5520 paolo     19   0  2392  288  228 R 11.0  0.1   0:08.46 a.out
 5522 paolo     19   0  2396  288  228 R  7.8  0.1   0:07.14 a.out

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5528 paolo     18   0  2392  288  228 R 19.7  0.1   0:18.15 a.out
 5533 paolo     15   0  2396  288  228 S 19.3  0.1   0:19.12 a.out
 5531 paolo     18   0  2396  288  228 R 18.5  0.1   0:19.23 a.out
 5532 paolo     17   0  2392  288  228 R 15.1  0.1   0:18.55 a.out
 5529 paolo     18   0  2396  288  228 R 14.7  0.1   0:13.05 a.out
 5530 paolo     18   0  2392  288  228 R 12.5  0.1   0:20.42 a.out

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 5530 paolo     18   0  2392  288  228 R 21.0  0.1   0:25.42 a.out
 5533 paolo     18   0  2396  288  228 R 20.2  0.1   0:24.75 a.out
 5529 paolo     18   0  2396  288  228 R 16.2  0.1   0:17.68 a.out
 5532 paolo     18   0  2392  288  228 R 14.8  0.1   0:23.33 a.out
 5531 paolo     18   0  2396  288  228 R 14.4  0.1   0:23.96 a.out
 5528 paolo     18   0  2392  288  228 R 13.6  0.1   0:23.03 a.out

I don't think it's being fooled, it's pulling these guys down, it's just that the plausible limit goes up the more tasks you're sharing the cpu with, so they hit the throttle less. If you start a bunch of tasks who only do a short burn such that their individual cpu usage isn't much, but together they use all available cpu, you can still severely starve non-sleeping == low priority tasks. This patch won't help for that... that's an entirely different problem, and fortunately one that doesn't seem to happen much in real life otherwise folks would be bitching like crazy. To guard against it, there are a lot of different things you can do. All of the ways that I know of are very bad for the desktop user, and fortunately for me, beyond the intended scope of this patch :)

-Mike
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux