Messages in this thread | | | Date | Sun, 27 Feb 2000 08:42:19 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [PATCH] proposed scheduler enhancements and fixes |
| |
On Sun, 27 Feb 2000, Andrea Arcangeli wrote: > > Am I right assuming lat_ctx -s 0 2 spawns two threads that only ping pong > all the time at maximal rate on a pipe to benchmark the speed of > schedule() (not the behaviour of the SMP scheduler!)? Such bench is single > threaded, the pipe don't even use the normal wakeup but it only calls > schedule() strightforward so I don't think my changes can affect such a > benchark. Maybe I am missing something...
It is not really single-threaded. In fact, in theory it could use 2 CPU*s pretty much 100%, bouncing between one reading and the other writing.
It is threaded to a large degree by the pipe semaphore, though. Even so, there's a wakeup event when a writer has added more data and wakes up the reader.
And no, the wake_p_sync() case does not get invoced by the pipe latency case: it only matters for the throughput case where the pipe _does_ turn completely synchronous because it's in kernel space all the time. For the "send a single byte back and forth" case, we can't use the synchronous version, because the sender is not going to sleep immediately afterwards (it's going to return to user mode).
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |