<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://etherboot.org/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://etherboot.org/wiki/feed.php">
        <title>Etherboot/gPXE Wiki soc:2010:cooldavid:journal</title>
        <description></description>
        <link>http://etherboot.org/wiki/</link>
        <image rdf:resource="http://etherboot.org/wiki/lib/tpl/monobook/images/favicon.ico" />
       <dc:date>2026-05-04T17:49:41-07:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/start?rev=1281179721&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week0?rev=1274893810&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week1?rev=1275052553&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week2?rev=1275655624&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week3?rev=1275950175&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week8?rev=1279591884&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week9?rev=1280412517&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week10?rev=1280488499&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week11?rev=1281178982&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week12?rev=1281688284&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb1?rev=1274893066&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb2?rev=1274891765&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb3?rev=1274890718&amp;do=diff"/>
                <rdf:li rdf:resource="http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb4?rev=1274890680&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://etherboot.org/wiki/lib/tpl/monobook/images/favicon.ico">
        <title>Etherboot/gPXE Wiki</title>
        <link>http://etherboot.org/wiki/</link>
        <url>http://etherboot.org/wiki/lib/tpl/monobook/images/favicon.ico</url>
    </image>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/start?rev=1281179721&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-07T04:15:21-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:start</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/start?rev=1281179721&amp;do=diff</link>
        <description>Guo-Fu Tseng: Implement and Port Ethernet Drivers for gPXE

Journal

	*  Week -4: [ Apr 18 - May 24 ] Debug hardware problem
	*  Week -3: [ Apr 25 - May  2 ] Trace gPXE code base
	*  Week -2: [ May  3 - May  9 ] Implement JMicron driver
	*  Week -1: [ May 10 - May 16 ] Modify JMicron driver, RX offloading
	*  Week  0: [ May 17 - May 23 ] TCP performance test and tunning
	*  Week  1: [ May 24 - May 30 ] Update wiki, TCP tunning
	*  Week  2: [ May 31 - Jun  6 ] Update jme driver, Trace memory rela…</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week0?rev=1274893810&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-26T10:10:10-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:week0</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/week0?rev=1274893810&amp;do=diff</link>
        <description>Week 0: TCP performance test and tunning

May 13th to May 23th

	*  Implement TCP receive queue
	*  Implement TCP SACK [RFC 2018]
	*  Implement TCP Window Scale [RFC 1323]

The test results can be found at these notes:

	*  TCP out-of-order receive dstat test logs
	*  Benchmarks for downloading image from boot.kernel.org

Found TCP FIN ACK number issue</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week1?rev=1275052553&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-28T06:15:53-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:week1</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/week1?rev=1275052553&amp;do=diff</link>
        <description>Week 1: Update wiki, TCP tunning

May 27th.

	*  Update wiki for week -4 to week 0 progress.

May 28th.

Weekly meeting

	*  Post JMicron driver to gpxe-devel as a patch.
	*  Start a discussion on gpxe-devel regarding to TCP and memory changes.
	*  Update plan to reflect my current work.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week2?rev=1275655624&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-06-04T05:47:04-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:week2</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/week2?rev=1275655624&amp;do=diff</link>
        <description>Week 2 [ 31 May - 6 Jun 2010 ]: Discuss TCP and memory changes, update jme driver

jme driver

	*  From Joshua Oreman
		*  jme_check_link(struct net_device *netdev, int testonly)

			*  In this function, I believe the code and string data used in constructing linkmsg will make it into even non-debug versions of the executable. If that's true it would be better if you could perform all the manipulations in the final DBG() line, using the ?: operator and such. It's possible the compiler is clever …</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week3?rev=1275950175&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-06-07T15:36:15-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:week3</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/week3?rev=1275950175&amp;do=diff</link>
        <description>Week 3 [ Jun 7 - Jun 13 ] Trace memory related codes, misc things

	*  Take some time to trace more gPXE/iPXE memory/bootstrap related codes.
	*  Tried to setup DOS/Windows XP/Linux AoE sanboot.
	*  Implemented copy-on-write support for vblade-20. Git tree</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week8?rev=1279591884&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-07-19T19:11:24-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:week8</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/week8?rev=1279591884&amp;do=diff</link>
        <description>Several TCP fixes

Separating the xfer interface closing routines from tcp_close

The original Receive flow of TCP stack pass the data to upper layer
while the TCP state transition and response still in progress.
But when upper layer received some specific data, it might send data
through the current TCP connection, or close the current TCP connection.
This issue makes the TCP state hard to maintain.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week9?rev=1280412517&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-07-29T07:08:37-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:week9</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/week9?rev=1280412517&amp;do=diff</link>
        <description>TCP cleanup

Cleanup TCP close actions

	*  Reduce duplicate code by separating tcp_terminate() from tcp_close().
	*  Use tcp_terminate to immediately free all tcp resources.
	*  Use tcp_close() to bing TCP connection to closing state.
	*  Make tcp_close() function simpler, not doing different job in different state.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week10?rev=1280488499&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-07-30T04:14:59-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:week10</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/week10?rev=1280488499&amp;do=diff</link>
        <description>Create a branch to merge latest iPXE TCP related commits based on gPXE master

Shortlog of iPXE merge commits

Git-branch

	*  Guo-Fu Tseng (2):
		*  [tcp] Randomize TCP bind port
		*  [hci] Continue processing while prompting for shell banner


	*  Michael Brown (8):</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week11?rev=1281178982&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-07T04:03:02-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:week11</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/week11?rev=1281178982&amp;do=diff</link>
        <description>Benchmark plan

	*  Performance test sites
		*  &lt;http://netboot.me/&gt;
		*  &lt;http://boot.fedoraproject.org/index&gt;
		*  &lt;http://boot.kernel.org/&gt;

	*  Test env:
		*  KVM with different kind of emulated NIC.
			*  Direct link.
				*  User mode network stack.
				*  With TUN/TAP

			*  Bridge/NAT with TUN/TAP.

		*  Native gPXE.

	*  Trace the issue that gPXE download speed slow on KVM.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/week12?rev=1281688284&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-13T01:31:24-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:week12</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/week12?rev=1281688284&amp;do=diff</link>
        <description>Port wscale branch against current gPXE master

Recent TCP updates is a lot different from previous base of wscale branch.

Hit a GCC optimization trap

For the following code


#include &lt;stdio.h&gt;

struct foo {
        char huge_gap[0x4005d0];
        int v;
};

void store_and_print(int *val, struct foo *f)
{
        *val = f-&gt;v;
        if ( !f ) {
                printf(&quot;Value is wrong.\n&quot;);
        } else {
                printf(&quot;Value is correct.\n&quot;);
        }
}

int main()
{
        int u…</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb1?rev=1274893066&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-26T09:57:46-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:weekb1</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb1?rev=1274893066&amp;do=diff</link>
        <description>Week -1: Modify JMicron driver, RX offloading

May 2nd to May 12th

Chanloading with undionly image

Stefanha pointed out that I should try if JMicron driver can be chanloaded like: gPXE(jme driver)-&gt;gPXE(UNDI driver). Due to the UNDI interface would trigger .irq() function of net_device_operations.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb2?rev=1274891765&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-26T09:36:05-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:weekb2</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb2?rev=1274891765&amp;do=diff</link>
        <description>Week -2: Implement JMicron driver

Apr. 28th to May 1st

Day 1

Start to write JMicron Driver.

	*  Helper functions
		*  jme_reload_eeprom(): Which cause the MAC processor to place MAC Address to register.

		*  j{read,write}32(): Register reading/writing wrapper.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb3?rev=1274890718&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-26T09:18:38-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:weekb3</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb3?rev=1274890718&amp;do=diff</link>
        <description>Week -3: Trace gPXE code base

Apr. 22th to Apr. 28th

	*  Trace gPXE driver code: rtl8139.c
	*  Trace gPXE build system.
	*  Review JMicron Ethernet controller spec.</description>
    </item>
    <item rdf:about="http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb4?rev=1274890680&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-26T09:18:00-07:00</dc:date>
        <title>soc:2010:cooldavid:journal:weekb4</title>
        <link>http://etherboot.org/wiki/soc/2010/cooldavid/journal/weekb4?rev=1274890680&amp;do=diff</link>
        <description>Week -4: Debug hardware problem

Before Apr. 22th

Debug boot crash problem

I had problem for boot gPXE with my testing computer.
It keeps reboot(crash) right after gPXE relocats itself
to high memory location.

I've traced partial codes of src/arch/i386/prefix/*prefix.S</description>
    </item>
</rdf:RDF>
