1. 05 7月, 2016 1 次提交
  2. 06 6月, 2016 1 次提交
    • D
      e1000e: Fix build with gcc 4.6.3 and ust tracing · de5dca1b
      Dmitry Fleytman 提交于
      This patch fixes used-uninitialized false
      positive while compiling with ust tracing
      backend plus gcc 4.6.3:
      
      hw/net/e1000e.c: In function ‘e1000e_io_write’:
      hw/net/e1000e.c:170:39: error: ‘idx’ may be used uninitialized in this function [-Werror=uninitialized]
      hw/net/e1000e.c: In function ‘e1000e_io_read’:
      hw/net/e1000e.c:145:35: error: ‘idx’ may be used uninitialized in this function [-Werror=uninitialized]
      cc1: all warnings being treated as errors
      make: *** [hw/net/e1000e.o] Error 1
      Signed-off-by: NDmitry Fleytman <dmitry@daynix.com>
      Acked-by: NJason Wang <jasowang@redhat.com>
      Message-id: 1465023763-10773-1-git-send-email-dmitry@daynix.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      de5dca1b
  3. 02 6月, 2016 1 次提交
    • D
      net: Introduce e1000e device emulation · 6f3fbe4e
      Dmitry Fleytman 提交于
      This patch introduces emulation for the Intel 82574 adapter, AKA e1000e.
      
      This implementation is derived from the e1000 emulation code, and
      utilizes the TX/RX packet abstractions that were initially developed for
      the vmxnet3 device. Although some parts of the introduced code may be
      shared with e1000, the differences are substantial enough so that the
      only shared resources for the two devices are the definitions in
      hw/net/e1000_regs.h.
      
      Similarly to vmxnet3, the new device uses virtio headers for task
      offloads (for backends that support virtio extensions). Usage of
      virtio headers may be forcibly disabled via a boolean device property
      "vnet" (which is enabled by default). In such case task offloads
      will be performed in software, in the same way it is done on
      backends that do not support virtio headers.
      
      The device code is split into two parts:
      
        1. hw/net/e1000e.c: QEMU-specific code for a network device;
        2. hw/net/e1000e_core.[hc]: Device emulation according to the spec.
      
      The new device name is e1000e.
      
      Intel specifications for the 82574 controller are available at:
      http://www.intel.com/content/dam/doc/datasheet/82574l-gbe-controller-datasheet.pdf
      
      Throughput measurement results (iperf2):
      
                      Fedora 22 guest, TCP, RX
          4 ++------------------------------------------+
            |                                           |
            |                           X   X   X   X   X
        3.5 ++          X   X   X   X                   |
            |       X                                   |
            |                                           |
          3 ++                                          |
      G     |   X                                       |
      b     |                                           |
      / 2.5 ++                                          |
      s     |                                           |
            |                                           |
          2 ++                                          |
            |                                           |
            |                                           |
        1.5 X+                                          |
            |                                           |
            +   +   +   +   +   +   +   +   +   +   +   +
          1 ++--+---+---+---+---+---+---+---+---+---+---+
           32  64  128 256 512  1   2   4   8  16  32  64
            B   B   B   B   B   KB  KB  KB  KB KB  KB  KB
                             Buffer size
      
                     Fedora 22 guest, TCP, TX
        18 ++-------------------------------------------+
           |                        X                   |
        16 ++                           X   X   X   X   X
           |                   X                        |
        14 ++                                           |
           |                                            |
        12 ++                                           |
      G    |               X                            |
      b 10 ++                                           |
      /    |                                            |
      s  8 ++                                           |
           |                                            |
         6 ++          X                                |
           |                                            |
         4 ++                                           |
           |       X                                    |
         2 ++  X                                        |
           X   +   +   +   +   +    +   +   +   +   +   +
         0 ++--+---+---+---+---+----+---+---+---+---+---+
          32  64  128 256 512  1    2   4   8  16  32  64
           B   B   B   B   B   KB   KB  KB  KB KB  KB  KB
                             Buffer size
      
                      Fedora 22 guest, UDP, RX
          3 ++------------------------------------------+
            |                                           X
            |                                           |
        2.5 ++                                          |
            |                                           |
            |                                           |
          2 ++                                 X        |
      G     |                                           |
      b     |                                           |
      / 1.5 ++                                          |
      s     |                         X                 |
            |                                           |
          1 ++                                          |
            |                                           |
            |                 X                         |
        0.5 ++                                          |
            |        X                                  |
            X        +        +       +        +        +
          0 ++-------+--------+-------+--------+--------+
           32       64       128     256      512       1
            B        B         B       B        B      KB
                             Datagram size
      
                      Fedora 22 guest, UDP, TX
          1 ++------------------------------------------+
            |                                           X
        0.9 ++                                          |
            |                                           |
        0.8 ++                                          |
        0.7 ++                                          |
            |                                           |
      G 0.6 ++                                          |
      b     |                                           |
      / 0.5 ++                                          |
      s     |                                  X        |
        0.4 ++                                          |
            |                                           |
        0.3 ++                                          |
        0.2 ++                        X                 |
            |                                           |
        0.1 ++                X                         |
            X        X        +       +        +        +
          0 ++-------+--------+-------+--------+--------+
           32       64       128     256      512       1
            B        B         B       B        B      KB
                             Datagram size
      
                    Windows 2012R2 guest, TCP, RX
        3.2 ++------------------------------------------+
            |                                   X       |
          3 ++                                          |
            |                                           |
        2.8 ++                                          |
            |                                           |
        2.6 ++                              X           |
      G     |   X                   X   X           X   X
      b 2.4 ++      X       X                           |
      /     |                                           |
      s 2.2 ++                                          |
            |                                           |
          2 ++                                          |
            |           X       X                       |
        1.8 ++                                          |
            |                                           |
        1.6 X+                                          |
            +   +   +   +   +   +   +   +   +   +   +   +
        1.4 ++--+---+---+---+---+---+---+---+---+---+---+
           32  64  128 256 512  1   2   4   8  16  32  64
            B   B   B   B   B   KB  KB  KB  KB KB  KB  KB
                             Buffer size
      
                   Windows 2012R2 guest, TCP, TX
        14 ++-------------------------------------------+
           |                                            |
           |                                        X   X
        12 ++                                           |
           |                                            |
        10 ++                                           |
           |                                            |
      G    |                                            |
      b  8 ++                                           |
      /    |                                    X       |
      s  6 ++                                           |
           |                                            |
           |                                            |
         4 ++                               X           |
           |                                            |
         2 ++                                           |
           |           X   X            X               |
           +   X   X   +   +   X    X   +   +   +   +   +
         0 X+--+---+---+---+---+----+---+---+---+---+---+
          32  64  128 256 512  1    2   4   8  16  32  64
           B   B   B   B   B   KB   KB  KB  KB KB  KB  KB
                             Buffer size
      
                    Windows 2012R2 guest, UDP, RX
        1.6 ++------------------------------------------X
            |                                           |
        1.4 ++                                          |
            |                                           |
        1.2 ++                                          |
            |                                  X        |
            |                                           |
      G   1 ++                                          |
      b     |                                           |
      / 0.8 ++                                          |
      s     |                                           |
        0.6 ++                        X                 |
            |                                           |
        0.4 ++                                          |
            |                 X                         |
            |                                           |
        0.2 ++       X                                  |
            X        +        +       +        +        +
          0 ++-------+--------+-------+--------+--------+
           32       64       128     256      512       1
            B        B         B       B        B      KB
                             Datagram size
      
                    Windows 2012R2 guest, UDP, TX
        0.6 ++------------------------------------------+
            |                                           X
            |                                           |
        0.5 ++                                          |
            |                                           |
            |                                           |
        0.4 ++                                          |
      G     |                                           |
      b     |                                           |
      / 0.3 ++                                 X        |
      s     |                                           |
            |                                           |
        0.2 ++                                          |
            |                                           |
            |                         X                 |
        0.1 ++                                          |
            |                 X                         |
            X        X        +       +        +        +
          0 ++-------+--------+-------+--------+--------+
           32       64       128     256      512       1
            B        B         B       B        B      KB
                             Datagram size
      Signed-off-by: NDmitry Fleytman <dmitry.fleytman@ravellosystems.com>
      Signed-off-by: NLeonid Bloch <leonid.bloch@ravellosystems.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      6f3fbe4e