1. 29 Aug, 2013 4 commits
    • David S. Miller's avatar
      Merge branch 'xen-netback' · 823a19e0
      David S. Miller authored
      Wei Liu says:
      
      ====================
      xen-netback: switch to NAPI + kthread 1:1 model
      
      This series implements NAPI + kthread 1:1 model for Xen netback.
      
      This model
       - provides better scheduling fairness among vifs
       - is prerequisite for implementing multiqueue for Xen network driver
      
      The second patch has the real meat:
       - make use of NAPI to mitigate interrupt
       - kthreads are not bound to CPUs any more, so that we can take
         advantage of backend scheduler and trust it to do the right thing
      
      Benchmark is done on a Dell T3400 workstation with 4 cores, running 4
      DomUs. Netserver runs in Dom0. DomUs do netperf to Dom0 with
      following command: /root/netperf -H Dom0 -fm -l120
      
      IRQs are distributed to 4 cores by hand in the new model, while in the
      old model vifs are automatically distributed to 4 kthreads.
      
      * New model
      %Cpu0  :  0.5 us, 20.3 sy,  0.0 ni, 28.9 id,  0.0 wa,  0.0 hi, 24.4 si, 25.9 st
      %Cpu1  :  0.5 us, 17.8 sy,  0.0 ni, 28.8 id,  0.0 wa,  0.0 hi, 27.7 si, 25.1 st
      %Cpu2  :  0.5 us, 18.8 sy,  0.0 ni, 30.7 id,  0.0 wa,  0.0 hi, 22.9 si, 27.1 st
      %Cpu3  :  0.0 us, 20.1 sy,  0.0 ni, 30.4 id,  0.0 wa,  0.0 hi, 22.7 si, 26.8 st
      Throughputs: 2027.89 2025.95 2018.57 2016.23 aggregated: 8088.64
      
      * Old model
      %Cpu0  :  0.5 us, 68.8 sy,  0.0 ni, 16.1 id,  0.5 wa,  0.0 hi,  2.8 si, 11.5 st
      %Cpu1  :  0.4 us, 45.1 sy,  0.0 ni, 31.1 id,  0.4 wa,  0.0 hi,  2.1 si, 20.9 st
      %Cpu2  :  0.9 us, 44.8 sy,  0.0 ni, 30.9 id,  0.0 wa,  0.0 hi,  1.3 si, 22.2 st
      %Cpu3  :  0.8 us, 46.4 sy,  0.0 ni, 28.3 id,  1.3 wa,  0.0 hi,  2.1 si, 21.1 st
      Throughputs: 1899.14 2280.43 1963.33 1893.47 aggregated: 8036.37
      
      We can see that the impact is mainly on CPU usage. The new model moves
      processing from kthread to NAPI (software interrupt).
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      823a19e0
    • Wei Liu's avatar
      xen-netback: rename functions · 7376419a
      Wei Liu authored
      As we move to 1:1 model and melt xen_netbk and xenvif together, it would
      be better to use single prefix for all functions in xen-netback.
      Signed-off-by: default avatarWei Liu <wei.liu2@citrix.com>
      Acked-by: default avatarIan Campbell <ian.campbell@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7376419a
    • Wei Liu's avatar
      xen-netback: switch to NAPI + kthread 1:1 model · b3f980bd
      Wei Liu authored
      This patch implements 1:1 model netback. NAPI and kthread are utilized
      to do the weight-lifting job:
      
      - NAPI is used for guest side TX (host side RX)
      - kthread is used for guest side RX (host side TX)
      
      Xenvif and xen_netbk are made into one structure to reduce code size.
      
      This model provides better scheduling fairness among vifs. It is also
      prerequisite for implementing multiqueue for Xen netback.
      Signed-off-by: default avatarWei Liu <wei.liu2@citrix.com>
      Acked-by: default avatarIan Campbell <ian.campbell@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b3f980bd
    • Wei Liu's avatar
      xen-netback: remove page tracking facility · 43e9d194
      Wei Liu authored
      The data flow from DomU to DomU on the same host in current copying
      scheme with tracking facility:
      
             copy
      DomU --------> Dom0          DomU
       |                            ^
       |____________________________|
                   copy
      
      The page in Dom0 is a page with valid MFN. So we can always copy from
      page Dom0, thus removing the need for a tracking facility.
      
             copy           copy
      DomU --------> Dom0 -------> DomU
      
      Simple iperf test shows no performance regression (obviously we copy
      twice either way):
      
        W/  tracking: ~5.3Gb/s
        W/o tracking: ~5.4Gb/s
      Signed-off-by: default avatarWei Liu <wei.liu2@citrix.com>
      Acked-by: default avatarIan Campbell <ian.campbell@citrix.com>
      Acked-by: default avatarMatt Wilson <msw@amazon.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      43e9d194
  2. 28 Aug, 2013 3 commits
  3. 27 Aug, 2013 26 commits
  4. 26 Aug, 2013 6 commits
  5. 25 Aug, 2013 1 commit