Skip site navigation (1)Skip section navigation (2)
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>