Re: [PATCH] cpuset: Rework sched domains and CPU hotplug handling(2.6.27-rc1)

From: Max Krasnyansky
Date: Wed Aug 06 2008 - 01:04:07 EST


Paul Jackson wrote:
Max wrote:
... the wrong part of my reply ...

Was the right part where you wrote:
We'd actually be changing more things.

I also don't care that much how much code is changed;
if it must be changed, then change it to what is best,
which may not necessarily be the minimum change.
Sure. What I'm saying is that I do not think it's the best
to change all the paths to be async.

If an asynchronous sched domain rebuild is needed in
some places, then consider just using it everywhere,
rather than providing two code paths to rebuild, one
sync and one async.
I still do not see a good reason why. IMO exceptions are acceptable.
Only domain rebuilds triggered by cpuset fs writes need to be async.
I do not see a good technical reason why the rest needs to be converted
and retested.

Ask not how we got here; ask where we should be.

In particular, and in this specific case, having the
dual code paths really did make it a little more difficult
for me to understand the code, as evidenced by the back
and forth discussion on how to name the confusingly
similar functions. Such naming controversies are usually
a sign of code duplication or improper factoring.
I'm not sure what you're referring to. There was no back an forth.
You suggested reverting the rename and I pointed out that it was not
a rename, I simply factored out the part that generates the
masks. That was it.

That additional difficulty in understanding this code
was a key factor in delaying my review of your code.
I'd look at it, my mind was glaze over, and I'd put
it aside for a few days. This happened repeatedly.

Fine code is like fine art ... spare, elegant, compelling
in its expression.
To be fair the fact that you had trouble understanding my code does
not automatically mean that it was not artistic ;-).

Max
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/