* Jeff Garzik <jgarzik@xxxxxxxxx> wrote:
Two comments:
1) we have a vague definition of "RX work processed." Due to error conditions and goto's in that function, rx_processed_cnt may or may not equal the number of packets actually processed.
2) man I dislike these inline C statement combinations (ranting at original code style, not you). I would much rather waste a few extra lines of source code and make the conditions obvious:
while (... && (rx_processed_cnt < limit)) {
rx_processed_cnt++;
...
}
or even
while (1) {
...
if (rx_processed_cnt == limit)
break;
rx_processed_cnt++;
}
The compiler certainly doesn't care, and IMO it prevents bugs.
agreed. Do you have an uptodate patch/git-URI for the forcedeth rewrite you did? I can throw it into the testbed.