[ Argh, just noticed this thread got broke and had been living a parallel life due to Subject: changes, dropped Cc:'s, and munged In-Reply-To:'s. Adding back all interested folk here. ]Ok, it appears Antoine tested with the patch and got: http://devloop.org.uk/documentation/database-performance/Linux-Kernels/Kernels-ManyThr... http://devloop.org.uk/documentation/database-performance/Linux-Kernels/Kernels-ManyThr... which leads me to believe this probably wasn't a yield problem after all, though it would still be useful if someone with more knowledge of Java could give that code a look over ... Curiously, the -rc3 oddity is still plainly visible there -- how do we explain that? Ingo, does that oddity (and the commits that went in around -rc3 time) give some clue as to the behaviour / characteristics of Antoine's workloads? Ok, it's reproducible, making our job easier. Which also means, Antoine, please do try the following git-bisecting: I don't have access to any real/meaningful SMP systems, so I wonder how much sense it makes in practical terms for me to try and run these tests locally on my little boxen ... would be helpful if someone with 4/8 CPU systems could give Antoine's testsuite a whirl :-) Umm, you mention _changing_ this value earlier, but it still remains the same for every thread during every loop for a given test run -- what I'm suggesting is making that code do something like: Thread.sleep(random(x, y)); where x=2, y=20 and random(x, y) returns a random integer between x and y, so all threads sleep for different durations in every loop, but still average out to about ~10 ms over a period. Try to vary x and y (to vary the average) and post the resulting graphs too? CONFIG_HZ (actually, full .config) and dmesg might be useful for us as well. Also, like David mentioned, counting the _number_ of times the test threads managed to execute those SQL queries is probably a better benchmark than measuring the time it takes for threads to finish execution itself -- uniformity in that number across threads would bring out how "fair" CFS is compared to previous kernels, for one ... And finally I need a clarification from you: from the code that I read, it appears you have *different* threads for purely inserting/selecting/updating/deleting records from the table, right? So I think David was barking up the wrong tree in that other reply there, where he said the *same* thread needs to execute multiple queries on the same data, and therefore your test code is susceptible to cache hotness and thread execution order effects ... but I don't see any such pathologies. I could be wrong, of course ... Which brings us to another issue -- how well does the testsuite capture real world workloads? Wouldn't multiple threads in the real world that arbitrarily execute insert/update/select/delete queries on the same table also need to implement some form of locking? How would that affect the numbers? -
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| David Dillow | CONFIG_NO_HZ breaks blktrace timestamps |
| David Miller | Re: tg3: unable to handle null pointer dereference |
git: | |
| Martin Langhoff | Handling large files with GIT |
| Jakub Narebski | Re: VCS comparison table |
| Scott Chacon | Git Community Book |
| Matthew L Foster | git and time |
| Daniel Ouellet | identifying sparse files and get ride of them trick available? |
| Richard Stallman | Real men don't attack straw men |
| Stefan Beke | mail dovecot: pipe() failed: Too many open files |
| Rico Secada | Re: Binary kernel and base update |
| Evgeniy Polyakov | Re: [PKT_SCHED]: Add stateless NAT |
| Tantilov, Emil S | RE: [BUG] NULL pointer dereference in skb_dequeue |
| KOVACS Krisztian | [PATCH 10/14] iptables socket match |
| Ilpo Järvinen | [PATCH] [TCP]: Separate lost_retrans loop into own function |
| How to make initramfs smaller | 2 minutes ago | Linux kernel |
| how to check if a given block device is in use? | 29 minutes ago | Linux kernel |
| How to exec user process in kernel mode. | 57 minutes ago | Linux kernel |
| [IPSEC]IPSEC_MANUAL_REQID_MAX | 3 days ago | Linux kernel |
| help in UDP catching module.. | 3 days ago | Linux kernel |
| Is there anything like Real-time drivers? | 5 days ago | Linux general |
| ns16550 serail console in Linux 2.6.19 | 5 days ago | Linux general |
| what class should i use to register my devices | 5 days ago | Linux kernel |
| reset bios pasword toshiba | 6 days ago | Hardware |
| Analysis of Process Scheduling | 1 week ago | Linux kernel |
