All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [Question] about ipxe version update
@ 2014-12-04  7:23 Gonglei (Arei)
  2014-12-04  8:07 ` Gerd Hoffmann
  0 siblings, 1 reply; 3+ messages in thread
From: Gonglei (Arei) @ 2014-12-04  7:23 UTC (permalink / raw)
  To: qemu-devel
  Cc: peter.maydell, Paolo Bonzini, Huangweidong (C),
	Gerd Hoffmann, Huangpeng (Peter)

Hi, 

Recently, my colleagues encountered a confused issue about ipxe in qemu
release version, both qemu-2.1 and qemu-2.2-rc4.

Details:

When vm configured a lot of network devices, ipxe install failed. 

The result as follow:
Configuring (net0 00:e0:fc::00:fc:54)........................Error 0x040ee19 (http://ipxe.org/040ee119)
No more network devices 
No bootable device.

When we tried the latest ipxe code, it's ok.
By git bisect, I found the patch of ipxe.git solved this problem.

# git show 9f0b7f428af04d0c5ddda78f9b034625f2f91831
Author: Michael Brown <mcb30@ipxe.org>
Date:   Sun Jun 1 19:24:16 2014 +0100

    [ifmgmt] Do not sleep CPU while configuring network devices

    iPXE currently calls cpu_nap() while performing DHCP, in order to
    reduce CPU utilisation on virtual machines.  Under mild broadcast load
    (~100 packets per second), this can cause received packets to be
    dropped because the receive descriptor ring is overrun before the next
    18Hz timer interrupt wakes up the CPU.  The result is that DHCP is
    likely to intermittently fail on networks with appreciable amounts of
    broadcast (or multicast) traffic.

    This behaviour was introduced in the series of commits which
    generalised the "dhcp" command to the "ifconf" command.  The earlier
    code (which did not handle IPv6 configuration) had no call to
    cpu_nap() and so did not suffer from this problem.

    Fix by removing the call to cpu_nap() in ifpoller_progress().  This
    has the undesirable side effect that CPU utilisation will remain at
    100% while waiting for DHCP to complete (which can take several
    seconds, if we have to wait around for potential ProxyDHCP offers to
    arrive).

    Reported-by: Alex Davies <adavies@jumptrading.com>
    Reported-by: Christoffer Stokbæk <christoffers@easyspeedy.com>
    Signed-off-by: Michael Brown <mcb30@ipxe.org>

diff --git a/src/usr/ifmgmt.c b/src/usr/ifmgmt.c
index cab1cd9..3d05895 100644
--- a/src/usr/ifmgmt.c
+++ b/src/usr/ifmgmt.c
@@ -28,7 +28,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
 #include <ipxe/device.h>
 #include <ipxe/job.h>
 #include <ipxe/monojob.h>
-#include <ipxe/nap.h>
 #include <ipxe/timer.h>
 #include <usr/ifmgmt.h>

@@ -142,9 +141,6 @@ struct ifpoller {
 static int ifpoller_progress ( struct ifpoller *ifpoller,
                               struct job_progress *progress __unused ) {

-       /* Reduce CPU utilisation */
-       cpu_nap();
-
        /* Hand off to current progress checker */
        return ifpoller->progress ( ifpoller );
 }
 
I noticed that the latest ipxe version in qemu is 2014.5.15, and was included
in Qemu-2.1 release version.

commit d880b28cef4a8b4bc489a5caec201d019b9c0add
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Thu May 15 14:23:59 2014 +0200

    ipxe: update to current git
    
    Now that ipxe has separate settings for load / boot banner timeouts
    re-enable the boot banner while keeping the load banner turned off,
    so we don't add a delay to non-pxe boots.

Does we have a plan to update ipxe version in QEMU? Thanks. 
I know QEMU 2.2 will be released tomorrow, December 5th.
Maybe we can't catch up with that.

Regards,
-Gonglei

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [Question] about ipxe version update
  2014-12-04  7:23 [Qemu-devel] [Question] about ipxe version update Gonglei (Arei)
@ 2014-12-04  8:07 ` Gerd Hoffmann
  2014-12-04  8:47   ` Gonglei
  0 siblings, 1 reply; 3+ messages in thread
From: Gerd Hoffmann @ 2014-12-04  8:07 UTC (permalink / raw)
  To: Gonglei (Arei)
  Cc: peter.maydell, Paolo Bonzini, Huangweidong (C),
	qemu-devel, Huangpeng (Peter)

  Hi,

> When we tried the latest ipxe code, it's ok.
> By git bisect, I found the patch of ipxe.git solved this problem.
> 
> # git show 9f0b7f428af04d0c5ddda78f9b034625f2f91831
> Author: Michael Brown <mcb30@ipxe.org>
> Date:   Sun Jun 1 19:24:16 2014 +0100

> I noticed that the latest ipxe version in qemu is 2014.5.15, and was included
> in Qemu-2.1 release version.
> 
> commit d880b28cef4a8b4bc489a5caec201d019b9c0add
> Author: Gerd Hoffmann <kraxel@redhat.com>
> Date:   Thu May 15 14:23:59 2014 +0200
> 
>     ipxe: update to current git
>     
>     Now that ipxe has separate settings for load / boot banner timeouts
>     re-enable the boot banner while keeping the load banner turned off,
>     so we don't add a delay to non-pxe boots.
> 
> Does we have a plan to update ipxe version in QEMU? Thanks.

Picking up a bugfix is a pretty good reason to update ...

> I know QEMU 2.2 will be released tomorrow, December 5th.
> Maybe we can't catch up with that.

... but not one day before the release.  We can do the update early in
2.3 though, and maybe cherry-pick for 2.2.1 after it got some testing.

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [Question] about ipxe version update
  2014-12-04  8:07 ` Gerd Hoffmann
@ 2014-12-04  8:47   ` Gonglei
  0 siblings, 0 replies; 3+ messages in thread
From: Gonglei @ 2014-12-04  8:47 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: peter.maydell, Paolo Bonzini, Huangweidong (C),
	qemu-devel, Huangpeng (Peter)

On 2014/12/4 16:07, Gerd Hoffmann wrote:

>   Hi,
> 
>> When we tried the latest ipxe code, it's ok.
>> By git bisect, I found the patch of ipxe.git solved this problem.
>>
>> # git show 9f0b7f428af04d0c5ddda78f9b034625f2f91831
>> Author: Michael Brown <mcb30@ipxe.org>
>> Date:   Sun Jun 1 19:24:16 2014 +0100
> 
>> I noticed that the latest ipxe version in qemu is 2014.5.15, and was included
>> in Qemu-2.1 release version.
>>
>> commit d880b28cef4a8b4bc489a5caec201d019b9c0add
>> Author: Gerd Hoffmann <kraxel@redhat.com>
>> Date:   Thu May 15 14:23:59 2014 +0200
>>
>>     ipxe: update to current git
>>     
>>     Now that ipxe has separate settings for load / boot banner timeouts
>>     re-enable the boot banner while keeping the load banner turned off,
>>     so we don't add a delay to non-pxe boots.
>>
>> Does we have a plan to update ipxe version in QEMU? Thanks.
> 
> Picking up a bugfix is a pretty good reason to update ...
> 
>> I know QEMU 2.2 will be released tomorrow, December 5th.
>> Maybe we can't catch up with that.
> 
> ... but not one day before the release.  We can do the update early in
> 2.3 though, and maybe cherry-pick for 2.2.1 after it got some testing.
> 
> cheers,
>   Gerd
> 
> 

Got it, thanks!

Regards,
-Gonglei

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-12-04  8:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-04  7:23 [Qemu-devel] [Question] about ipxe version update Gonglei (Arei)
2014-12-04  8:07 ` Gerd Hoffmann
2014-12-04  8:47   ` Gonglei

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.