Can you explain pool_lock? It does actually seem to work, but
it's rather confusing ....
build_pools() has a comment above it saying:
+/*
+ * Call pooldata_lock() before calling this function and
+ * pooldata_unlock() after!
+ */
But then you promptly call pooldata_lock inside build_pools
anyway ... looks like it's just a naff comment, but doesn't
help much.
Leaving aside the acknowledged mind-boggling ugliness of
pooldata_lock(), what exactly is this lock protecting, and when?
The only thing that actually calls pooldata_lock is build_pools,
right? And the only other thing that looks at it is sched_balance_exec
via pooldata_is_locked ... can that happen before build_pools
(seems like you're in deep trouble if it does anyway, as it'll
just block). If you really still need to do this, RCU is now
in the kernel ;-) If not, can we just chuck all that stuff?
M.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/