tech-kern archive

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

Atomic migration chains, balancing fixes.



Hello,

Here is the patch to simplify the LWP migration by inventing atomic migration
chains. It should fix PR/38169, however, it is different approach. Patch also
makes periodical balancing mandatory, and thus fixes it and the priority
raising in M2, which was broken after making run-queues mandatory.

http://www.netbsd.org/~rmind/mchains_and_fixes.diff

Please notice the sched_migration_dispatch(), where LWP gets added to the
mchain without lock held. We assume that state of LWP wont change at that
point.

I am not sure about lwp_suspend(), which returns EINTR, and _lwp_detach()
which returns ESRCH, in a case of migration state. Handle them separately,
or maybe instead of LSIDL use LSONPROC for migration state?

Please carefully review.

-- 
Best regards,
Mindaugas
www.NetBSD.org


Home | Main Index | Thread Index | Old Index