In-kernel API for tasks, which could wait?

Lev Serebryakov lev at FreeBSD.org
Sun Oct 30 14:55:14 UTC 2011


Hello, Current.

  It was explained to me, that all three GEOM threads (up, down and
ctl) could not execute code, which should sleep. It looks sound for
up and down, but not for ctl, but it is so now.

  So, I have question: what should I do if I need to perofrm ONE
action, which could block for some time (for example, open file or
create ALQ)?

 I could create thread for this. But it looks strange and too heavy: create thread
to call one function once.

 Maybe, kernel has some API to postpone such task to one,
always-running idle thread?

-- 
// Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>



More information about the freebsd-current mailing list