В письме Thu, 29 Nov 2007 12:09:35 -0800, Matthew Dillon написал:
> > :I'm playing a bit with mechanism (register_swi(), unregister_swi() and > :sched_ithd()). It work, but it not applicable for widely usage, because > :number of SWI_XXX slots very limited. To example, someone want create > :some driver and use for sending data to device function, called by > :software interrupt. Today, this someone must change kernel sources at > :least in <sys/interrupt.h> to add define of new SWI_XXX. If not to do > :this, there is risk, to use number of softint, used someone else... > > Well, the main reason for that is that the whole concept of a > software interrupt isn't really applicable any more. It's easier > to just create a high priority kernel thread and send a message to > the thread. There are a ton of places in DragonFly where we do that > now. > But it not easy way to implement such things... taskqueue_XXX in this case is more comfortable way, then create thread, which will be in dry run most of time.
