Messages in this thread | | | Date | Wed, 31 Dec 2003 01:34:39 -0500 | From | Jeff Garzik <> | Subject | Re: [PATCH 1/2] kthread_create |
| |
Rusty Russell wrote: > For #2, if you really can't wait for keventd, perhaps your own > workqueue is in order?
Way too wasteful, and doing so is working around a fundamental failing of workqueues: keventd gives no guarantee that your scheduled work will be executed this week, this month, or this year :)
keventd is used by two competing classes of users: those who want low-latency, quick execution in task context (Tux-ish), and those who just want to run something in task context, where they might sleep (perhaps for a long time).
So it would be nice to have thread pool semantics occasionally found in userspace: if thread pool is full when new work is queued, _temporarily_ increase the pool size (or create a one-shot kthread). Sure you have kthread creation overhead, but at least you have a reasonable guarantee that your work won't wait 5-30 seconds or more before being performed.
Jeff
- 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/
| |