tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: task queues



   Date: Sat, 26 Jul 2014 20:13:08 +0200
   From: Martin Husemann <martin%duskware.de@localhost>

   Why not extend softints so that they (optionally) provide a sleepable
   context?

Softints are a relatively scarce resource compared to the four words
of memory that tasks occupy.  Setting softints up and tearing them
down is an expensive operation unlike task_init, task_destroy.  Can't
cancel a softint; can't wait for completion on a softint without
tearing it down; can't drain all softints.

Of course, softints are cheaper to schedule: softint_schedule requires
zero interprocessor synchronization, whereas task_schedule involves
atomic_cas and mutex_enter (though it tries to touch only CPU-local
memory, unless there's contention on the task itself).


Home | Main Index | Thread Index | Old Index