Messages in this thread | | | Date | Tue, 17 Jul 2001 16:29:23 -0700 (PDT) | From | Davide Libenzi <> | Subject | RE: huge number of context switches under 2.2.x with SMP & threa |
| |
On 17-Jul-2001 bert hubert wrote: > A threads related question - I have a nameserver with 8 active threads, > which in turn leads to 6 (in this case) MySQL connections. When > stresstesting this nameserver, we see a *huge* number of context switches. > 50.000 has been observered. When raising this to ~50 active threads and ~50 > MySQL connections we've seen 100.000 context switches/second. Performance > suffers. > > This is a RedHat 6.2 system with a 2.2.16 kernel, 2*PIII, 900MHz. > > I saw some mention of this problem on the MySQL site with regards to > processes holding a pthread_mutex_lock() for short amounts of time. They > advise to use 2.4 but right now that is not within the scope of my options. > > My question: is there a 2.2 kernel in which this is resolved? And secondly, > is there a way to prevent this problem purely from userspace? In other > words, what causes this problem. > > The MySQL site also mentions that 2.4 could do better in some ways, > especially regarding 'overspin'.
If the lock is contended the thread start spinning with sched_yield() for a given number of times. This could result in an high ctx switch rate with quite long runqueue also.
- Davide
- 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/
| |