Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
soc:2010:cooldavid:journal:week2 [2010/06/04 00:50] cooldavid |
soc:2010:cooldavid:journal:week2 [2010/06/04 05:47] (current) cooldavid |
||
---|---|---|---|
Line 38: | Line 38: | ||
(unsigned long)iob->data, mapping, len); | (unsigned long)iob->data, mapping, len); | ||
</code> | </code> | ||
- | * This will behave poorly when memory runs out. Better is to have a refill routine that runs after the poll(), and always attempts to refill up to a specified level. <code C> | + | * This will behave poorly when memory runs out. Better is to have a refill routine that runs after the poll(), and always attempts to refill up to a specified level. <code C> |
rxdesc += idx; | rxdesc += idx; | ||
if (jme_make_new_rx_buf(rxring->bufinf + idx)) { | if (jme_make_new_rx_buf(rxring->bufinf + idx)) { | ||
Line 45: | Line 45: | ||
} else { | } else { | ||
</code> | </code> | ||
+ | |||
+ | * From me: | ||
+ | * The refill function did not work correctly. Because of the error packet was reused instead of making a hole. [[http://bbs.cooldavid.org/git/?p=gpxe.git;a=commitdiff;h=aa105ed1c6d99588dceeec3ead4e434b40b59644|This patch fixed it]] | ||
==== Trace memory related codes ==== | ==== Trace memory related codes ==== |