Messages in this thread |  | | Date | Sun, 27 Oct 2002 16:31:50 -0800 | | From | "Martin J. Bligh" <> | | Subject | Re: NUMA scheduler (was: 2.5 merge candidate list 1.5) |
| |
OK, so I'm trying to read your patch 1, fairly unsucessfully (seems to be a lot more complex that Michael's).
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/
|  |