On Wed, Oct 31, 2007 at 04:55:20PM +0100, Pierre Riteau wrote:
Here I'd like to warn before substituting reading code for reading interface
specification. What happened on the Linux kernel shows that code cannot be by
principle substituted for interface specification:
1. Person A wrote a nonblocking function X performing a task T. The spec
in his mind was "X does T, whether it blocks or not is undefined."
2. Person B looked into the code, saw X does T in a nonblocking way and
inferred: "the spec for X is that it does T in a nonblocking way"
3. B wrote a caller function that called X with an assumption that X doesn't
block, everything was OK
4. A rewrote X in a way that now it blocks
5. Since now a hidden deadlock is in the kernel and noone has the slightest
idea that anything wrong has happened.
CL<
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Winkler, Tomas | RE: iwlwifi: fix build bug in "iwlwifi: fix LED stall" |
| Jeff Chua | 2.6.27rc1 cannot boot more than 8CPUs |
git: | |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Andrew Dickinson | tx queue hashing hot-spots and poor performance (multiq, ixgbe) |
| Hugh Dickins | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
