Date: Sat, 13 May 2000 00:18:50 -0700 From: Mike Smith <msmith@freebsd.org> To: Doug Rabson <dfr@nlsystems.com> Cc: arch@freebsd.org Subject: Re: A new api for asynchronous task execution Message-ID: <200005130718.AAA01437@mass.cdrom.com> In-Reply-To: Your message of "Fri, 12 May 2000 20:44:39 BST." <Pine.BSF.4.21.0005122041530.47945-100000@salmon.nlsystems.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> I'm planning to add a new system to the kernel which should make it much > easier for drivers (especially loadable drivers) to use software > interrupts to implement split-level interrupt handlers. The api was > inspired by the Linux tqueue system but the implementation is quite > different. ... > void (*func)(void *, int); /* task handler */ What's the second argument? > void *arg; /* argument for handler */ > }; > > struct taskqueue { > STAILQ_HEAD(, task) queue; > void (*enqueue)(struct taskqueue *queue); > }; > > void > taskqueue_init(struct taskqueue *queue, > void (*enqueue)(struct taskqueue *queue)) Any sense in having statically-initialised task queues? TASK_QUEUE(name); I'm also wondering about naming the queue instances and linking them all together for eg. debugging or "find queue by name" functionality. Apart from that, I'm delirious at the thought of this; I've been waiting for something similar for a long time now. 8) -- \\ Give a man a fish, and you feed him for a day. \\ Mike Smith \\ Tell him he should learn how to fish himself, \\ msmith@freebsd.org \\ and he'll hate you for a lifetime. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005130718.AAA01437>