| From | Sent On | Attachments |
|---|---|---|
| Lasse Laursen | Jun 14, 2004 6:02 pm | |
| Julian Elischer | Jun 14, 2004 6:17 pm | |
| Lasse Laursen | Jun 14, 2004 6:38 pm | |
| Daniel Eischen | Jun 14, 2004 7:13 pm | |
| Lasse Laursen | Jun 14, 2004 7:14 pm | |
| Daniel Eischen | Jun 14, 2004 7:32 pm | |
| Lasse Laursen | Jun 14, 2004 7:34 pm | |
| mike | Jun 14, 2004 8:08 pm | |
| Daniel Eischen | Jun 14, 2004 8:42 pm | |
| Petri Helenius | Jun 14, 2004 9:01 pm | |
| Lasse Laursen | Jun 14, 2004 9:02 pm | |
| Petri Helenius | Jun 14, 2004 9:04 pm | |
| Lasse Laursen | Jun 14, 2004 9:07 pm | |
| Petri Helenius | Jun 14, 2004 9:09 pm | |
| Lasse Laursen | Jun 14, 2004 9:10 pm | |
| Petri Helenius | Jun 14, 2004 9:11 pm | |
| Lasse Laursen | Jun 14, 2004 9:16 pm | |
| Robert Watson | Jun 14, 2004 9:45 pm | |
| mike | Jun 14, 2004 10:32 pm | |
| JG | Jun 15, 2004 1:42 am | |
| Martin Blapp | Jun 15, 2004 5:28 am | |
| Cedric Tabary | Jun 15, 2004 11:07 am | |
| Lasse Laursen | Jun 15, 2004 11:23 am | |
| Cedric Tabary | Jun 15, 2004 1:08 pm | |
| Lasse Laursen | Jun 15, 2004 1:33 pm | |
| Alexander Leidinger | Jun 15, 2004 1:39 pm | |
| Daniel Eischen | Jun 15, 2004 2:03 pm | |
| JG | Jun 15, 2004 2:15 pm | |
| Martin Blapp | Jun 15, 2004 3:10 pm | |
| Daniel Eischen | Jun 15, 2004 3:26 pm | |
| JG | Jun 15, 2004 4:26 pm | |
| Daniel Eischen | Jun 15, 2004 4:52 pm | |
| Lasse Laursen | Jun 15, 2004 5:00 pm | |
| Claus Guttesen | Jun 15, 2004 5:12 pm | |
| JG | Jun 15, 2004 5:21 pm | |
| Lasse Laursen | Jun 15, 2004 5:23 pm | |
| JG | Jun 15, 2004 5:33 pm | |
| Steve Kargl | Jun 15, 2004 5:36 pm | |
| JG | Jun 15, 2004 5:47 pm | |
| Lasse Laursen | Jun 15, 2004 6:50 pm | |
| Robert Watson | Jun 15, 2004 9:17 pm | |
| Julian Elischer | Jun 15, 2004 11:19 pm | |
| Julian Elischer | Jun 15, 2004 11:21 pm | |
| Julian Elischer | Jun 15, 2004 11:22 pm | |
| JG | Jun 16, 2004 4:09 am | |
| JG | Jun 16, 2004 4:10 am | |
| David Xu | Jun 16, 2004 4:12 am | |
| Julian Elischer | Jun 16, 2004 4:49 am | |
| Daryl Chance | Jun 16, 2004 5:12 am | |
| Robert Watson | Jun 16, 2004 5:26 am | |
| Daniel Eischen | Jun 16, 2004 5:45 am | |
| Daryl Chance | Jun 16, 2004 5:49 am | |
| Robert Watson | Jun 16, 2004 5:53 am | |
| Robert Watson | Jun 16, 2004 6:43 am | |
| Julian Elischer | Jun 16, 2004 7:49 am | |
| Julian Elischer | Jun 16, 2004 7:58 am | |
| JG | Jun 16, 2004 3:03 pm | |
| Julian Elischer | Jun 17, 2004 1:40 am | |
| Robert Watson | Jun 17, 2004 5:34 am | |
| Brad Knowles | Jun 17, 2004 6:09 am | |
| Petri Helenius | Jun 17, 2004 6:22 am | |
| Jon Noack | Jun 17, 2004 6:37 am | |
| Julian Elischer | Jun 17, 2004 7:47 am | |
| Robert Watson | Jun 17, 2004 12:52 pm | |
| Robert Watson | Jun 17, 2004 12:54 pm | |
| Robert Watson | Jun 17, 2004 1:01 pm | |
| JG | Jun 17, 2004 2:45 pm | |
| Jon Noack | Jun 17, 2004 5:24 pm | |
| Robert Watson | Jun 17, 2004 7:35 pm | |
| Christian Jachmann | Jun 17, 2004 10:35 pm | |
| Bruce Evans | Jun 18, 2004 7:36 am | |
| David Xu | Jun 18, 2004 8:55 am | |
| Claus Guttesen | Jun 18, 2004 9:21 am | |
| Claus Guttesen | Jun 18, 2004 2:32 pm | |
| Daniel Eischen | Jun 18, 2004 2:54 pm |
| Subject: | Possible Threading problem with -CURRENT / MySQL? | |
|---|---|---|
| From: | Julian Elischer (jul...@elischer.org) | |
| Date: | Jun 16, 2004 7:49:10 am | |
| List: | org.freebsd.freebsd-threads | |
On Wed, 16 Jun 2004, Robert Watson wrote:
On Wed, 16 Jun 2004, Robert Watson wrote:
On Wed, 16 Jun 2004, Robert Watson wrote:
Netperf-UP-giant 4902.41 14.3 Netperf-SMP-giant 2566.18 16.83 Netperf-UP-mpsafe 4799.35 22.04 Netperf-SMP-mpsafe 3022.51 18.06
FYI, when I add ADAPTIVE_MUTEXES on this box, the mean of 3000 q/s goes to 4000 q/s on the netperf+smp+mpsafenet number.
I'm off to bed now, but it seems like (at least in the HTT configuration), it makes a big difference. I'll run the remainder of that set with ADAPTIVE_MUTEXES tomorrow as well.
And switching to 4BSD from ULE takes the mean to 6426 q/s when combined with netperf, smp, debug.mpsafenet=1, and adaptive mutexes.
(Keeping in mind that this mysql benchmark is basically an inter-thread/process kernel IPC benchmark using UNIX domain sockets, since the workload is fairly minimal in userspace, this makes reasonable sense).
Now I'm really going to bed.
One thing that was happenning at one time, was that when a process is made runnable on one processor, If another processor is idle, it remains idle until the next scheduling tick.
I proposed patches about a year ago that fixed this but "as far as I know" it is still true.
The solution is to generate an IPI when you make a thread runnable and you see an idle processor..
To see if this is the problem a quick test would be to move HZ to 5000 or something and see what happens.
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects rob...@fledge.watson.org Senior Research Scientist, McAfee Research





