[gPXE-devel] [PATCH] [pcnet32] Replace pcnet32 driver

Faur Andrei da3drus at gmail.com
Sun Jun 13 16:15:45 EDT 2010


On Sun, Jun 13, 2010 at 10:53 PM, Marty Connor <mdc at etherboot.org> wrote:
> On 6/13/10 3:44 PM, Andrei Faur wrote:
>> Hello everyone. The following patch replaces the old pcnet32 driver
>> with a new one that uses gPXE's API.
>>
>> You can find a detailed list of commits at [1].
>>
>> Feedback is needed and certainly welcome.
>>
>> Thanks,
>> Andrei Faur
>>
>> [1] http://git.etherboot.org/?p=people/andreif/gpxe.git;a=shortlog;h=refs/heads/pcnet32_tmp
>
> Hi Andrei,

Hello!

> Thanks for doing this!  You're well on your way to your GSoC goals.
>
> Some things I'd like to know:
>
> - In what ways is this driver an improvement over the old driver?

By using gPXE's API and not the legacy Etherboot API as the old
one did, it manages to attain greater speeds and overall better
performance. I also tried to write the code as clean as possible
so it's easier to understand.

> - What testing have you done?  What are the results?

I have tested the driver under VMWare, VBox and Qemu by fetching
an 100mb file. This test worked on all three of them. Also, I booted
a Damn Small Linux using pxelinux.0 in all three and that worked too.

In VMWare and VBox I also tested the driver under UNDI by fetching
the 100mb file. I realize now that I haven't tested UNDI in Qemu so
that's something that I should be doing soon.

> - Has anyone else tested your work?

Thomas Miletich tested the driver under VMWare and booted an Intrepid Ubuntu
using pxelinux.0. This test actually surfaced a bug that meteger eventually
fixed. Thanks!

Marty Connor tested the driver on real hardware and managed to fetch
the 100mb file in 9.27 seconds and in 10.56 seconds under UNDI. Thank
you Marty!

Hopefully now since the patch is out more people can start testing this
in different scenarios so more bugs surface :)

> - Comparison of performance of the old driver to the new one in various
> situations.

The old driver got times of 80 to 120+ seconds when downloading the 100mb
image under VMWare. The new one manages to fetch the image in 30 to
50 seconds. I remember having similar results in VBox, I'll run the test again
and come back with some exact numbers.

An issue that the driver has right now is poor performance under UNDI in
VMWare. It performs just as the old driver did, reaching 100+ seconds when
downloading the 100mb file. By the time this patch gets reviewed I hope
to solve this issue.

> I actually know the answers to a lot of these questions, but for people
> on gpxe-devel who have not been working with you, presenting this
> information along with the code would be helpful.
>
> Once again, congratulations on this.  I am sure it will be a vast
> improvement over the legacy pcnet32 driver in gPXE, and I look forward
> to learning more about it.
>
> / Marty /
>
>
>

--
Andrei Faur


More information about the gPXE-devel mailing list