Re: [PATCH] cpuset semaphore depth check deadlock fix

From: Paul Jackson
Date: Mon Sep 12 2005 - 04:48:21 EST


Nikita wrote:
> I am somewhat concerned that new fields are added to the struct
> task_struct all the time: it's already over 1.3KB.

A reasonable concern.

In this case, I got sneaky, and lined up a short counter
with a short that was in the previous slot, so probably
didn't actually grow the task struct (until someone adds
something in between ...).

But that's a thin excuse.

I had thought about both having a global cpuset_sem_owner,
and about having the cpuset_sem_depth as a single global
rather than a per task counter.

The owner by itself was insufficient because it didn't track
the depth. The global owner was insufficient because it wasn't
guarded atomically with the cpuset_sem semaphore.

It never occurred to me to try the combination. Sweet.

I'll run this through my custom cpuset sausage grinder and
stress test, and see if the computer is equally delighted.

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@xxxxxxx> 1.925.600.0401
-
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/