On Wed, 21 Jun 2006, Steven Rostedt wrote:
[...]
No, I think fixing the bug you found is better :)
Thomas convinced me. I don't like the design though. Moving the
task priorities around isn't very healthy. It is confusing and it
complicates stuff a lot. But as Thomas says, with my solution one could
make DOS attack from userspace by arranging a lot of timers to timeout
simultaniously (or sufficient close to each other).
However, this is still possible, but less easy to do: In the interrupt
every timer expirering is touched. I.e. by having a lot of timers you push
a lot of work into the interrupt routine. In fact the interrupt routine
also have to take the timer out of the binary tree, so the worst case interrupt
latency is O(N log N), N being the total amount of timer in the system!!
But what about the configure option HIGH_RES_RESOLUTION ? It is barely
used in the system now. But if timers closer than the resolution were
batched together in a plist, then all the interrupt should do was to merge
two plists, namely the list of newly timeouts and the list of stuff still
pending to be executed by the softirq thread. The worst case would then be
max(O(log N), O(<number of priorities==140>), which is both fairly limited as
N can never be bigger than 1G on a 32 bit system such that log N <= 30.
Esben
-- Steve
-
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]