1. 05 9月, 2016 2 次提交
  2. 03 9月, 2016 24 次提交
  3. 02 9月, 2016 14 次提交
    • B
      mISDN: mark symbols static where possible · 569e937e
      Baoyou Xie 提交于
      We get a few warnings when building kernel with W=1:
      drivers/isdn/hardware/mISDN/hfcmulti.c:568:1: warning: no previous declaration for 'enablepcibridge' [-Wmissing-declarations]
      drivers/isdn/hardware/mISDN/hfcmulti.c:574:1: warning: no previous declaration for 'disablepcibridge' [-Wmissing-declarations]
      drivers/isdn/hardware/mISDN/hfcmulti.c:580:1: warning: no previous declaration for 'readpcibridge' [-Wmissing-declarations]
      drivers/isdn/hardware/mISDN/hfcmulti.c:608:1: warning: no previous declaration for 'writepcibridge' [-Wmissing-declarations]
      drivers/isdn/hardware/mISDN/hfcmulti.c:638:1: warning: no previous declaration for 'cpld_set_reg' [-Wmissing-declarations]
      drivers/isdn/hardware/mISDN/hfcmulti.c:645:1: warning: no previous declaration for 'cpld_write_reg' [-Wmissing-declarations]
      drivers/isdn/hardware/mISDN/hfcmulti.c:657:1: warning: no previous declaration for 'cpld_read_reg' [-Wmissing-declarations]
      drivers/isdn/hardware/mISDN/hfcmulti.c:674:1: warning: no previous declaration for 'vpm_write_address' [-Wmissing-declarations]
      drivers/isdn/hardware/mISDN/hfcmulti.c:681:1: warning: no previous declaration for 'vpm_read_address' [-Wmissing-declarations]
      drivers/isdn/hardware/mISDN/hfcmulti.c:695:1: warning: no previous declaration for 'vpm_in' [-Wmissing-declarations]
      drivers/isdn/hardware/mISDN/hfcmulti.c:716:1: warning: no previous declaration for 'vpm_out' [-Wmissing-declarations]
      drivers/isdn/hardware/mISDN/hfcmulti.c:1028:1: warning: no previous declaration for 'plxsd_checksync' [-Wmissing-declarations]
      ....
      
      In fact, these functions are only used in the file in which they are
      declared and don't need a declaration, but can be made static.
      so this patch marks these functions with 'static'.
      Signed-off-by: NBaoyou Xie <baoyou.xie@linaro.org>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      569e937e
    • T
      net: emac: emac gigabit ethernet controller driver · b9b17deb
      Timur Tabi 提交于
      Add support for the Qualcomm Technologies, Inc. EMAC gigabit Ethernet
      controller.
      
      This driver supports the following features:
      1) Checksum offload.
      2) Interrupt coalescing support.
      3) SGMII phy.
      4) phylib interface for external phy
      
      Based on original work by
      	Niranjana Vishwanathapura <nvishwan@codeaurora.org>
      	Gilad Avidov <gavidov@codeaurora.org>
      Signed-off-by: NTimur Tabi <timur@codeaurora.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b9b17deb
    • V
      net: dsa: remove ds_to_priv · 04bed143
      Vivien Didelot 提交于
      Access the priv member of the dsa_switch structure directly, instead of
      having an unnecessary helper.
      Signed-off-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      04bed143
    • D
      Merge branch 'br-next' · 278ed676
      David S. Miller 提交于
      Nikolay Aleksandrov says:
      
      ====================
      net: bridge: add per-port unknown multicast flood control
      
      The first patch prepares the forwarding path by having the exact packet
      type passed down so we can later filter based on it and the per-port
      unknown mcast flood flag introduced in the second patch. It is similar to
      how the per-port unknown unicast flood flag works.
      Nice side-effects of patch 01 are the slight reduction of tests in the
      fast-path and a few minor checkpatch fixes.
      
      v3: don't change br_auto_mask as that will change user-visible behaviour
      v2: make pkt_type an enum as per Stephen's comment
      ====================
      Acked-by: NStephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      278ed676
    • N
      net: bridge: add per-port multicast flood flag · b6cb5ac8
      Nikolay Aleksandrov 提交于
      Add a per-port flag to control the unknown multicast flood, similar to the
      unknown unicast flood flag and break a few long lines in the netlink flag
      exports.
      Signed-off-by: NNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b6cb5ac8
    • N
      net: bridge: change unicast boolean to exact pkt_type · 8addd5e7
      Nikolay Aleksandrov 提交于
      Remove the unicast flag and introduce an exact pkt_type. That would help us
      for the upcoming per-port multicast flood flag and also slightly reduce the
      tests in the input fast path.
      Signed-off-by: NNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8addd5e7
    • R
      rtnetlink: fdb dump: optimize by saving last interface markers · d297653d
      Roopa Prabhu 提交于
      fdb dumps spanning multiple skb's currently restart from the first
      interface again for every skb. This results in unnecessary
      iterations on the already visited interfaces and their fdb
      entries. In large scale setups, we have seen this to slow
      down fdb dumps considerably. On a system with 30k macs we
      see fdb dumps spanning across more than 300 skbs.
      
      To fix the problem, this patch replaces the existing single fdb
      marker with three markers: netdev hash entries, netdevs and fdb
      index to continue where we left off instead of restarting from the
      first netdev. This is consistent with link dumps.
      
      In the process of fixing the performance issue, this patch also
      re-implements fix done by
      commit 472681d5 ("net: ndo_fdb_dump should report -EMSGSIZE to rtnl_fdb_dump")
      (with an internal fix from Wilson Kok) in the following ways:
      - change ndo_fdb_dump handlers to return error code instead
      of the last fdb index
      - use cb->args strictly for dump frag markers and not error codes.
      This is consistent with other dump functions.
      
      Below results were taken on a system with 1000 netdevs
      and 35085 fdb entries:
      before patch:
      $time bridge fdb show | wc -l
      15065
      
      real    1m11.791s
      user    0m0.070s
      sys 1m8.395s
      
      (existing code does not return all macs)
      
      after patch:
      $time bridge fdb show | wc -l
      35085
      
      real    0m2.017s
      user    0m0.113s
      sys 0m1.942s
      Signed-off-by: NRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: NWilson Kok <wkok@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d297653d
    • G
      rps: flow_dissector: Add the const for the parameter of flow_keys_have_l4 · 66fdd05e
      Gao Feng 提交于
      Add the const for the parameter of flow_keys_have_l4 for the readability.
      Signed-off-by: NGao Feng <fgao@ikuai8.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      66fdd05e
    • D
      rxrpc: Don't expose skbs to in-kernel users [ver #2] · d001648e
      David Howells 提交于
      Don't expose skbs to in-kernel users, such as the AFS filesystem, but
      instead provide a notification hook the indicates that a call needs
      attention and another that indicates that there's a new call to be
      collected.
      
      This makes the following possibilities more achievable:
      
       (1) Call refcounting can be made simpler if skbs don't hold refs to calls.
      
       (2) skbs referring to non-data events will be able to be freed much sooner
           rather than being queued for AFS to pick up as rxrpc_kernel_recv_data
           will be able to consult the call state.
      
       (3) We can shortcut the receive phase when a call is remotely aborted
           because we don't have to go through all the packets to get to the one
           cancelling the operation.
      
       (4) It makes it easier to do encryption/decryption directly between AFS's
           buffers and sk_buffs.
      
       (5) Encryption/decryption can more easily be done in the AFS's thread
           contexts - usually that of the userspace process that issued a syscall
           - rather than in one of rxrpc's background threads on a workqueue.
      
       (6) AFS will be able to wait synchronously on a call inside AF_RXRPC.
      
      To make this work, the following interface function has been added:
      
           int rxrpc_kernel_recv_data(
      		struct socket *sock, struct rxrpc_call *call,
      		void *buffer, size_t bufsize, size_t *_offset,
      		bool want_more, u32 *_abort_code);
      
      This is the recvmsg equivalent.  It allows the caller to find out about the
      state of a specific call and to transfer received data into a buffer
      piecemeal.
      
      afs_extract_data() and rxrpc_kernel_recv_data() now do all the extraction
      logic between them.  They don't wait synchronously yet because the socket
      lock needs to be dealt with.
      
      Five interface functions have been removed:
      
      	rxrpc_kernel_is_data_last()
          	rxrpc_kernel_get_abort_code()
          	rxrpc_kernel_get_error_number()
          	rxrpc_kernel_free_skb()
          	rxrpc_kernel_data_consumed()
      
      As a temporary hack, sk_buffs going to an in-kernel call are queued on the
      rxrpc_call struct (->knlrecv_queue) rather than being handed over to the
      in-kernel user.  To process the queue internally, a temporary function,
      temp_deliver_data() has been added.  This will be replaced with common code
      between the rxrpc_recvmsg() path and the kernel_rxrpc_recv_data() path in a
      future patch.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d001648e
    • B
      net: pegasus: Remove deprecated create_singlethread_workqueue · 95ac3994
      Bhaktipriya Shridhar 提交于
      The workqueue "pegasus_workqueue" queues a single work item per pegasus
      instance and hence it doesn't require execution ordering. Hence,
      alloc_workqueue has been used to replace the deprecated
      create_singlethread_workqueue instance.
      
      The WQ_MEM_RECLAIM flag has been set to ensure forward progress under
      memory pressure since it's a network driver.
      
      Since there are fixed number of work items, explicit concurrency
      limit is unnecessary here.
      Signed-off-by: NBhaktipriya Shridhar <bhaktipriya96@gmail.com>
      Acked-by: NTejun Heo <tj@kernel.org>
      Acked-by: NPetko Manolov <petkan@mip-labs.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      95ac3994
    • B
      bonding: Remove deprecated create_singlethread_workqueue · f9f225eb
      Bhaktipriya Shridhar 提交于
      alloc_ordered_workqueue() with WQ_MEM_RECLAIM set, replaces
      deprecated create_singlethread_workqueue(). This is the identity
      conversion.
      
      The workqueue "wq" queues multiple work items viz
      &bond->mcast_work, &nnw->work, &bond->mii_work, &bond->arp_work,
      &bond->alb_work, &bond->mii_work, &bond->ad_work, &bond->slave_arr_work
      which require strict execution ordering. Hence, an ordered dedicated
      workqueue has been used.
      
      Since, it is a network driver, WQ_MEM_RECLAIM has been set to
      ensure forward progress under memory pressure.
      Signed-off-by: NBhaktipriya Shridhar <bhaktipriya96@gmail.com>
      Acked-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f9f225eb
    • S
      sky2: use napi_complete_done · f4b63ea0
      stephen hemminger 提交于
      Update the sky2 driver to pass number of packets done to NAPI.
      The driver was never updated when napi_complete_done was added.
      Signed-off-by: NStephen Hemminger <stephen@networkplumber.org>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f4b63ea0
    • S
      f5bb341e
    • S
      4f70c96f