Messages in this thread | | | Date | Wed, 21 Jun 2006 12:03:57 +0100 (BST) | Subject | Re: Why can't I set the priority of softirq-hrt? (Re: 2.6.17-rt1) | From | Esben Nielsen <> |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |