DragonFly kernel List (threaded) for 2008-05
Re: kthread_create and rel_mplock
Michael Neumann wrote:
If I understand the kthread_create correctly, it will always acquire the
mplock (something like a global lock). That means, if I create two
threads, they will automatically be serialized (i.e. run sequentially),
unless I release the lock within a thread manually. Is that correct?
kthread_* is old stuff and should be avoided. If possible, use lwkt_*.
These threads then run without process context and without the mplock.
Is mtx_lock(&Giant) equivalent to the mplock on DragonFly?
Yes, I think so.
My understanding is that it is equivalent, and that I don't need any
further critical sections.
You do, to prevent from interrupts happening on the same CPU. Other BSDs
use(d) spl* for this purpose, we have crit_*.
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low €€€ NOW!1 +++ Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \