Messages in this thread | | | Subject | Re: wait queue question | From | Christian von Roques <> | Date | 23 Apr 1999 22:21:39 +0200 |
| |
V Ganesh <ganesh@vxindia.veritas.com> writes:
> is there any need we maintain wait queues as circular lists ? > the only reason I can think of is that we might have to remove an > element without knowing which list it belongs to. but __remove_wait_queue > is passed the address of the list head and just ignores it, going the full > circle every time. seems to me that it might be slightly faster, on the > average, to use good old linear null-terminated lists. plus we would > avoid the hairiness of WAIT_QUEUE_HEAD.
About two years ago, in the days of 2.0.30 and 2.1.43, I carefully tuned __{add,remove}_wait_queue in kernel-typical contexts for gcc-2.7.2 on i586s & K5s for speed and size. I had a version of __remove_wait_queue using the wait_queue argument too. It didn't crash linux in my configuration, but I decided not to use it, as it could have exposed broken kernel-code and I didn't want to risk to break anything.
Using the list argument to remove_wait_queue in my opinion is not something to do in the 2.2.x series.
Christian.
- 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/
| |