1. 12 Dec, 2017 2 commits
  2. 06 Dec, 2017 2 commits
  3. 15 Nov, 2017 2 commits
  4. 08 Nov, 2017 6 commits
  5. 06 Nov, 2017 5 commits
  6. 03 Nov, 2017 6 commits
  7. 02 Nov, 2017 1 commit
    • Dongli Zhang's avatar
      xen/time: do not decrease steal time after live migration on xen · 5e25f5db
      Dongli Zhang authored
      After guest live migration on xen, steal time in /proc/stat
      (cpustat[CPUTIME_STEAL]) might decrease because steal returned by
      xen_steal_lock() might be less than this_rq()->prev_steal_time which is
      derived from previous return value of xen_steal_clock().
      
      For instance, steal time of each vcpu is 335 before live migration.
      
      cpu  198 0 368 200064 1962 0 0 1340 0 0
      cpu0 38 0 81 50063 492 0 0 335 0 0
      cpu1 65 0 97 49763 634 0 0 335 0 0
      cpu2 38 0 81 50098 462 0 0 335 0 0
      cpu3 56 0 107 50138 374 0 0 335 0 0
      
      After live migration, steal time is reduced to 312.
      
      cpu  200 0 370 200330 1971 0 0 1248 0 0
      cpu0 38 0 82 50123 500 0 0 312 0 0
      cpu1 65 0 97 49832 634 0 0 312 0 0
      cpu2 39 0 82 50167 462 0 0 312 0 0
      cpu3 56 0 107 50207 374 0 0 312 0 0
      
      Since runstate times are cumulative and cleared during xen live migration
      by xen hypervisor, the idea of this patch is to accumulate runstate times
      to global percpu variables before live migration suspend. Once guest VM is
      resumed, xen_get_runstate_snapshot_cpu() would always return the sum of new
      runstate times and previously accumulated times stored in global percpu
      variables.
      
      Comment above HYPERVISOR_suspend() has been removed as it is inaccurate:
      the call can return an error code (e.g., possibly -EPERM in the future).
      
      Similar and more severe issue would impact prior linux 4.8-4.10 as
      discussed by Michael Las at
      https://0xstubs.org/debugging-a-flaky-cpu-steal-time-counter-on-a-paravirtualized-xen-guest,
      which would overflow steal time and lead to 100% st usage in top command
      for linux 4.8-4.10. A backport of this patch would fix that issue.
      
      [boris: added linux/slab.h to driver/xen/time.c, slightly reformatted
              commit message]
      
      References: https://0xstubs.org/debugging-a-flaky-cpu-steal-time-counter-on-a-paravirtualized-xen-guestSigned-off-by: default avatarDongli Zhang <dongli.zhang@oracle.com>
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      5e25f5db
  8. 31 Oct, 2017 14 commits
  9. 29 Oct, 2017 2 commits
    • Linus Torvalds's avatar
      Linux 4.14-rc7 · 0b07194b
      Linus Torvalds authored
      0b07194b
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 19e12196
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix route leak in xfrm_bundle_create().
      
       2) In mac80211, validate user rate mask before configuring it. From
          Johannes Berg.
      
       3) Properly enforce memory limits in fair queueing code, from Toke
          Hoiland-Jorgensen.
      
       4) Fix lockdep splat in inet_csk_route_req(), from Eric Dumazet.
      
       5) Fix TSO header allocation and management in mvpp2 driver, from Yan
          Markman.
      
       6) Don't take socket lock in BH handler in strparser code, from Tom
          Herbert.
      
       7) Don't show sockets from other namespaces in AF_UNIX code, from
          Andrei Vagin.
      
       8) Fix double free in error path of tap_open(), from Girish Moodalbail.
      
       9) Fix TX map failure path in igb and ixgbe, from Jean-Philippe Brucker
          and Alexander Duyck.
      
      10) Fix DCB mode programming in stmmac driver, from Jose Abreu.
      
      11) Fix err_count handling in various tunnels (ipip, ip6_gre). From Xin
          Long.
      
      12) Properly align SKB head before building SKB in tuntap, from Jason
          Wang.
      
      13) Avoid matching qdiscs with a zero handle during lookups, from Cong
          Wang.
      
      14) Fix various endianness bugs in sctp, from Xin Long.
      
      15) Fix tc filter callback races and add selftests which trigger the
          problem, from Cong Wang.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (73 commits)
        selftests: Introduce a new test case to tc testsuite
        selftests: Introduce a new script to generate tc batch file
        net_sched: fix call_rcu() race on act_sample module removal
        net_sched: add rtnl assertion to tcf_exts_destroy()
        net_sched: use tcf_queue_work() in tcindex filter
        net_sched: use tcf_queue_work() in rsvp filter
        net_sched: use tcf_queue_work() in route filter
        net_sched: use tcf_queue_work() in u32 filter
        net_sched: use tcf_queue_work() in matchall filter
        net_sched: use tcf_queue_work() in fw filter
        net_sched: use tcf_queue_work() in flower filter
        net_sched: use tcf_queue_work() in flow filter
        net_sched: use tcf_queue_work() in cgroup filter
        net_sched: use tcf_queue_work() in bpf filter
        net_sched: use tcf_queue_work() in basic filter
        net_sched: introduce a workqueue for RCU callbacks of tc filter
        sctp: fix some type cast warnings introduced since very beginning
        sctp: fix a type cast warnings that causes a_rwnd gets the wrong value
        sctp: fix some type cast warnings introduced by transport rhashtable
        sctp: fix some type cast warnings introduced by stream reconf
        ...
      19e12196