[lkml]   [2001]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [Lse-tech] Re: multi-queue scheduler update
On Fri, Jan 19, 2001 at 12:49:21PM -0800, Mike Kravetz showed his lack
of internet slang understanding and wrote:
> It was my intention to post IIRC numbers for small thread counts today.
> However, the benchmark (not the system) seems to hang on occasion. This
> occurs on both the unmodified 2.4.0 kernel and the one which contains
> my multi-queue patch. Therefore, I'm pretty sure it is not something
> I did. :)
> Anyone else see anything like this before? I'll look into the reason
> for the hang, but it will delay my posting of these numbers.

I think I have found the problem. Here is a code snippet from the
benchmark Andrea posted.

void oneatwork(int thr)
int i;
while (!start) /* don't disturb pthread_create() */

while (!stop)
if (count)

syscall(158); /* sys_sched_yield() */

Note that actthreads is a global variable which is being updated
by multiple threads without any form of synchronization. Because
of this actthreads sometimes never goes to zero after all worker
threads have finished. I changed actthreads to be an atomic and
used atomic operations to manipulate it. With this change, I was
able to complete one round of testing which I had not been able to
do in the past.

Does anyone maintain this benchmark code? The changes I indicate
above should be made. If you need more specifics I can provide

Mike Kravetz
IBM Linux Technology Center
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:54    [W:0.144 / U:0.480 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site