Re: [Etherboot-developers] CVS of 5.2 and 5.3 brought up to date
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: <ebi...@ln...> - 2003-09-19 20:05:15
|
ke...@et... (Ken Yap) writes:
> I've back propagated the 5.3 improvements to 5.2, so they are almost
> similar. Now we need to restore the files I missed when cutting 5.2 and
> I'll have an excuse to put out 5.2.2.
I have an updated tg3 driver that makes it work much better, that
I should be pushing back soon.
I also have a small question. I realized just a little bit ago
that we never added dhcp options to inform the dhcp server which kinds
of transports we can support.
ftp://
nfs://
x-slam://
etc.
To be able to write code that can automatically select protocols we need
to report what is compiled in. Is it ok if I implement that against 5.2?
One other thing. We are quickly reaching the point that anything etherboot
can reasonably download can be download in a second when the network is working
properly and everything is GigE. The bottleneck starts to become the dots
etherboot is printing out.
I have been playing with a version of the progress bar that as we print more
packets per second does exponential backoff in printing characters.
Where the first 10 characters per second are dots, the next 90 are represented
by underscores, the next 900 are represented by dashes, and the next 9000 are
represented by pluses.
So fare I have not quite gotten a plus out of it yet but I have gotten close.
Does this sounds like a sane idea?
Eric
void twiddle(void)
{
static int count=0;
static unsigned long lastticks = 0;
static const char dots[]="._-+*@";
unsigned long ticks;
int index, limit;
/* Limit the maximum rate at which characters are printed */
ticks = currticks()/TICKS_PER_SEC;
if (ticks != lastticks) {
lastticks = ticks;
count = 0;
}
limit = 1;
index = 0;
while((index < (sizeof(dots) - 1)) && (count > (limit *10))) {
limit *= 10;
index++;
}
if ((count % limit) == 0) {
putchar(dots[index]);
}
count++;
}
|