1. 02 8月, 2019 16 次提交
  2. 01 8月, 2019 4 次提交
    • N
      net: bridge: mcast: add delete due to fast-leave mdb flag · 3247b272
      Nikolay Aleksandrov 提交于
      In user-space there's no way to distinguish why an mdb entry was deleted
      and that is a problem for daemons which would like to keep the mdb in
      sync with remote ends (e.g. mlag) but would also like to converge faster.
      In almost all cases we'd like to age-out the remote entry for performance
      and convergence reasons except when fast-leave is enabled. In that case we
      want explicit immediate remote delete, thus add mdb flag which is set only
      when the entry is being deleted due to fast-leave.
      Signed-off-by: NNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3247b272
    • L
      tc-testing: Clarify the use of tdc's -d option · 0eba31ef
      Lucas Bates 提交于
      The -d command line argument to tdc requires the name of a physical device
      on the system where the tests will be run. If -d has not been used, tdc
      will skip tests that require a physical device.
      
      This patch is intended to better document what the -d option does and how
      it is used.
      Signed-off-by: NLucas Bates <lucasb@mojatatu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0eba31ef
    • D
      Merge tag 'mlx5-updates-2019-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · 21947f46
      David S. Miller 提交于
      Saeed Mahameed says:
      
      ====================
      mlx5-updates-2019-07-29
      
      This series includes updates to mlx5 driver,
      1) Simplifications, cleanup and warning prints improvements
      
      2) From Vlad Buslov:
      Refactor mlx5 tc flow handling for unlocked execution (Part 1)
      
      Currently, all cls API hardware offloads driver callbacks require caller
      to hold rtnl lock when calling them. Cls API has already been updated to
      update software filters in parallel (on classifiers that support
      unlocked execution), however hardware offloads code still obtains rtnl
      lock before calling driver tc callbacks. This set implements partial
      support for unlocked execution that is leveraged by follow up
      refactorings in specific mlx5 tc subsystems and patch to cls API that
      implements API that allows drivers to register their callbacks as
      rtnl-unlocked.
      
      In mlx5 tc code mlx5e_tc_flow is the main structure that is used to
      represent tc filter. Currently, code the structure itself and its
      handlers in both tc and eswitch layers do not implement any kind of
      synchronizations and assume external global synchronization provided by
      rtnl lock instead. Implement following changes to remove dependency on
      rtnl lock in flow handling code that are intended to be used a
      groundwork for following changes to provide fully rtnl-independent mlx5
      tc:
      
      - Extend struct mlx5e_tc_flow with atomic reference counter and rcu to
        allow concurrent access from multiple tc and neigh update workqueue
        instances without introducing any additional locks specific to the
        structure. Its 'flags' field type is changed to atomic bitmask ops which
        is necessary for tc to interact with other concurrent tc instances or
        concurrent neigh update that need to skip flows that are not fully
        initialized (new INIT_DONE flow flag) and can change the flags
        according to neighbor state (flipping OFFLOADED flag).
      
      - Protect unready flows list by new uplink_priv->unready_flows_lock
        mutex.
      
      - Convert calls to netdev APIs that require rtnl lock in flow handling
        code to their rcu counterparts.
      
      - Modify eswitch code that is called from tc layer and assume implicit
        external synchronization to be concurrency safe: change
        esw->offloads.num_flows type to atomic integer and re-arrange
        esw->state_lock usage to protect additional data.
      
      Some of approaches to synchronizations presented in this patch set are
      quite complicated (lockless concurrent usage of data structures with rcu
      and reference counting, using fine-grained locking when necessary, retry
      mechanisms to handle concurrent insertion of another instance of data
      structure with same key, etc.). This is necessary to allow calling the
      firmware in parallel in most cases, which is the main motivation of this
      change since firmware calls are mach heavier operation than atomic
      operations, multitude of locks and potential multiple retries during
      concurrent accesses to same elements.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      21947f46
    • Y
      staging/octeon: Fix build error without CONFIG_NETDEVICES · 6a7ce95d
      YueHaibing 提交于
      While do COMPILE_TEST build without CONFIG_NETDEVICES,
      we get Kconfig warning:
      
      WARNING: unmet direct dependencies detected for PHYLIB
        Depends on [n]: NETDEVICES [=n]
        Selected by [y]:
        - OCTEON_ETHERNET [=y] && STAGING [=y] && (CAVIUM_OCTEON_SOC && NETDEVICES [=n] || COMPILE_TEST [=y])
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Reported-by: NMark Brown <broonie@kernel.org>
      Fixes: 171a9bae ("staging/octeon: Allow test build on !MIPS")
      Signed-off-by: NYueHaibing <yuehaibing@huawei.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6a7ce95d
  3. 31 7月, 2019 20 次提交