====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
soc:2010:cooldavid:journal:week2 [2010/06/02 11:46]
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 ====
Line 51: Line 54:
   * See if it is possiable to know how much heap size we can use out of code and stack.   * See if it is possiable to know how much heap size we can use out of code and stack.
  
-Before starting the discussion on the list, I'm going to trace how the gPXE boot/relocate/fill segment ​infoAnd try to understand how Michael Brown removes the even megabyte ​limit.+=== Schedule for memory and TCP modifications === 
 +  - Trace how the gPXE bootrelocate, and fill segment ​informations. 
 +  - Try to understand how Michael Brown removes the even magabyte ​limit
 +  - Start a discussion on the list about how to reasonably extend gPXE's usable memory. 
 +  - Patch gPXE to support large(Several MB perhaps) heap memory. 
 +  - Design/​discuss a TCP receive window advertisement algorithm. 
 +  - Patch gPXE with ''​**TCP receive queue**'',​ ''​**SACK Support**'',​ and ''​**Window scale**''​. 
 +  - Do some benchmark against different window size, and different network environment. 
 +  - Post the result and discuss it on the gpxe mailling-list.
  
-[[soc:​2010:​cooldavid:​notes:​gpxememlayout|gPXE memory layout]]+=== Some notes after trace === 
 +  * [[soc:​2010:​cooldavid:​notes:​gpxememlayout|gPXE memory layout]] 
 +  * Good articals for understanding Gate-A20 
 +    - [[http://​en.wikipedia.org/​wiki/​A20_line|WIKIPEDIA - A20 line]] 
 +    - [[http://​www.win.tue.nl/​~aeb/​linux/​kbd/​A20.html|A20 - a pain from the past]]
  
 +=== Expand heap ===
 +  * [[soc:​2010:​cooldavid:​notes:​expandheap|Expand gPXE heap]]

QR Code
QR Code soc:2010:cooldavid:journal:week2 (generated for current page)