1. 17 Feb, 2017 9 commits
    • David S. Miller's avatar
      Merge branch 'ptp-attribute-cleanup' · af6e2b5b
      David S. Miller authored
      Dmitry Torokhov says:
      
      ====================
      PTP attribute handling cleanup
      
      PTP core was creating some attributes, such as "period" and "fifo", and the
      entire "pins" attribute group, after creating class deevice, which creates
      a race for userspace: uevent may arrive before all attributes are created.
      
      This series of patches switches PTP to use is_visible() to control
      visibility of attributes in a group, and device_create_with_groups() to
      ensure that attributes are created before we notify userspace of a new
      device.
      
      v2:
      - added Richard's acked-by to patch #1
      - removed use of kmalloc_array in favor of kcalloc in patch #2 at
        Richard's request
      - added a cover letter
      
      v1:
      - initial patch set
      ====================
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      af6e2b5b
    • Dmitry Torokhov's avatar
      ptp: create "pins" together with the rest of attributes · 85a66e55
      Dmitry Torokhov authored
      Let's switch to using device_create_with_groups(), which will allow us to
      create "pins" attribute group together with the rest of ptp device
      attributes, and before userspace gets notified about ptp device creation.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      85a66e55
    • Dmitry Torokhov's avatar
      ptp: use is_visible method to hide unused attributes · af59e717
      Dmitry Torokhov authored
      Instead of creating selected attributes after the device is created (and
      after userspace potentially seen uevent), lets use attribute group
      is_visible() method to control which attributes are shown. This will allow
      us to create all attributes (except "pins" group, which will be taken care
      of later) before userspace gets notified about new ptp class device.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      af59e717
    • Dmitry Torokhov's avatar
      ptp: use kcalloc when allocating arrays · 6f7aa56b
      Dmitry Torokhov authored
      kcalloc is more semantically correct when allocating arrays of objects, and
      overflow-safe.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6f7aa56b
    • Dmitry Torokhov's avatar
      ptp: do not explicitly set drvdata in ptp_clock_register() · 882f312d
      Dmitry Torokhov authored
      We do not need explicitly call dev_set_drvdata(), as it is done for us by
      device_create().
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      882f312d
    • Eric Dumazet's avatar
      mlx4: do not fire tasklet unless necessary · 01f0f425
      Eric Dumazet authored
      All rx and rx netdev interrupts are handled by respectively
      by mlx4_en_rx_irq() and mlx4_en_tx_irq() which simply schedule a NAPI.
      
      But mlx4_eq_int() also fires a tasklet to service all items that were
      queued via mlx4_add_cq_to_tasklet(), but this handler was not called
      unless user cqe was handled.
      
      This is very confusing, as "mpstat -I SCPU ..." show huge number of
      tasklet invocations.
      
      This patch saves this overhead, by carefully firing the tasklet directly
      from mlx4_add_cq_to_tasklet(), removing four atomic operations per IRQ.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Tariq Toukan <tariqt@mellanox.com>
      Cc: Saeed Mahameed <saeedm@mellanox.com>
      Acked-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      01f0f425
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next · 99d5ceee
      David S. Miller authored
      Steffen Klassert says:
      
      ====================
      pull request (net-next): ipsec-next 2017-02-16
      
      1) Make struct xfrm_input_afinfo const, nothing writes to it.
         From Florian Westphal.
      
      2) Remove all places that write to the afinfo policy backend
         and make the struct const then.
         From Florian Westphal.
      
      3) Prepare for packet consuming gro callbacks and add
         ESP GRO handlers. ESP packets can be decapsulated
         at the GRO layer then. It saves a round through
         the stack for each ESP packet.
      
      Please note that this has a merge coflict between commit
      
      63fca65d ("net: add confirm_neigh method to dst_ops")
      
      from net-next and
      
      3d7d25a6 ("xfrm: policy: remove garbage_collect callback")
      a2817d8b ("xfrm: policy: remove family field")
      
      from ipsec-next.
      
      The conflict can be solved as it is done in linux-next.
      
      Please pull or let me know if there are problems.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      99d5ceee
    • David S. Miller's avatar
      Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 5237b9dd
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      10GbE Intel Wired LAN Driver Updates 2017-02-16
      
      This series contains updates to ixgbe only.
      
      Tony updates the driver to advertise 2.5Gb and 5.0Gb if the adapter
      supports it.
      
      Stephen Hemminger renames our dcbnl_ops since it is global to
      ixgbe_dcbnl_ops to avoid namespace issues.
      
      Mark updates the driver version based on the recent changes.
      
      Alex has the remainder of the changes, starting with consolidating
      functions that represent logical steps in the receive process so we can
      later update them more easily (and align with igb).  Modify the receive
      path to only synchronize the length of the frame versus the entire buffer.
      Provided performance improvements by adding support for
      DMA_ATTR_SKIP_CPU_SYNC and DMA_ATTR_WEAK_ORDERING.  Also made additional
      performance gains by batching the page count updates instead of doing
      them one at a time.  Adjusted the receive path to use 3k buffers with
      8k backing them in order to support build_skb with jumbo frames.  Made
      additional driver improvements by using the length of the packet instead
      of the DD status to determine if a new descriptor is ready to be
      processed, which cuts down on reads.  To reduce code duplication, pulled
      apart the receive path into separate functions.  Added support for
      providing a buffer with headroom and tailroom to allow for shared info
      for NET_SKB_PAD and NET_IP_ALIGN.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5237b9dd
    • David S. Miller's avatar
  2. 16 Feb, 2017 24 commits
  3. 15 Feb, 2017 7 commits