23 Jun, 2015

14 commits

  • BPF offers another way to generate latency histograms. We attach
    kprobes at trace_preempt_off and trace_preempt_on and calculate the
    time it takes to from seeing the off/on transition.

    The first array is used to store the start time stamp. The key is the
    CPU id. The second array stores the log2(time diff). We need to use
    static allocation here (array and not hash tables). The kprobes
    hooking into trace_preempt_on|off should not calling any dynamic
    memory allocation or free path. We need to avoid recursivly
    getting called. Besides that, it reduces jitter in the measurement.

    CPU 0
    latency : count distribution
    1 -> 1 : 0 | |
    2 -> 3 : 0 | |
    4 -> 7 : 0 | |
    8 -> 15 : 0 | |
    16 -> 31 : 0 | |
    32 -> 63 : 0 | |
    64 -> 127 : 0 | |
    128 -> 255 : 0 | |
    256 -> 511 : 0 | |
    512 -> 1023 : 0 | |
    1024 -> 2047 : 0 | |
    2048 -> 4095 : 166723 |*************************************** |
    4096 -> 8191 : 19870 |*** |
    8192 -> 16383 : 6324 | |
    16384 -> 32767 : 1098 | |
    32768 -> 65535 : 190 | |
    65536 -> 131071 : 179 | |
    131072 -> 262143 : 18 | |
    262144 -> 524287 : 4 | |
    524288 -> 1048575 : 1363 | |
    CPU 1
    latency : count distribution
    1 -> 1 : 0 | |
    2 -> 3 : 0 | |
    4 -> 7 : 0 | |
    8 -> 15 : 0 | |
    16 -> 31 : 0 | |
    32 -> 63 : 0 | |
    64 -> 127 : 0 | |
    128 -> 255 : 0 | |
    256 -> 511 : 0 | |
    512 -> 1023 : 0 | |
    1024 -> 2047 : 0 | |
    2048 -> 4095 : 114042 |*************************************** |
    4096 -> 8191 : 9587 |** |
    8192 -> 16383 : 4140 | |
    16384 -> 32767 : 673 | |
    32768 -> 65535 : 179 | |
    65536 -> 131071 : 29 | |
    131072 -> 262143 : 4 | |
    262144 -> 524287 : 1 | |
    524288 -> 1048575 : 364 | |
    CPU 2
    latency : count distribution
    1 -> 1 : 0 | |
    2 -> 3 : 0 | |
    4 -> 7 : 0 | |
    8 -> 15 : 0 | |
    16 -> 31 : 0 | |
    32 -> 63 : 0 | |
    64 -> 127 : 0 | |
    128 -> 255 : 0 | |
    256 -> 511 : 0 | |
    512 -> 1023 : 0 | |
    1024 -> 2047 : 0 | |
    2048 -> 4095 : 40147 |*************************************** |
    4096 -> 8191 : 2300 |* |
    8192 -> 16383 : 828 | |
    16384 -> 32767 : 178 | |
    32768 -> 65535 : 59 | |
    65536 -> 131071 : 2 | |
    131072 -> 262143 : 0 | |
    262144 -> 524287 : 1 | |
    524288 -> 1048575 : 174 | |
    CPU 3
    latency : count distribution
    1 -> 1 : 0 | |
    2 -> 3 : 0 | |
    4 -> 7 : 0 | |
    8 -> 15 : 0 | |
    16 -> 31 : 0 | |
    32 -> 63 : 0 | |
    64 -> 127 : 0 | |
    128 -> 255 : 0 | |
    256 -> 511 : 0 | |
    512 -> 1023 : 0 | |
    1024 -> 2047 : 0 | |
    2048 -> 4095 : 29626 |*************************************** |
    4096 -> 8191 : 2704 |** |
    8192 -> 16383 : 1090 | |
    16384 -> 32767 : 160 | |
    32768 -> 65535 : 72 | |
    65536 -> 131071 : 32 | |
    131072 -> 262143 : 26 | |
    262144 -> 524287 : 12 | |
    524288 -> 1048575 : 298 | |

    All this is based on the trace3 examples written by
    Alexei Starovoitov .

    Signed-off-by: Daniel Wagner
    Cc: Alexei Starovoitov
    Cc: Alexei Starovoitov
    Cc: "David S. Miller"
    Cc: Daniel Borkmann
    Cc: Ingo Molnar
    Cc: linux-kernel@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Acked-by: Alexei Starovoitov
    Acked-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Daniel Wagner
     
  • When STP is running in user-space and querier is configured, the
    querier timer is not started when a port goes to a non-blocking state.
    This patch unifies the user- and kernel-space stp multicast port enable
    path and enables it in all states different from blocking. Note that when a
    port goes in BR_STATE_DISABLED it's not enabled because that is handled
    in the beginning of the port list loop.

    Signed-off-by: Nikolay Aleksandrov
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     
  • NFC 4.2 2nd pull request

    This one only contains a one liner fix for a typo that I
    introduced while cleaning some of the nfcmrvl patches that
    were part of the 1st 4.2 pull request.

    David S. Miller
     
  • …etooth/bluetooth-next

    Johan Hedberg says:

    ====================
    pull request: bluetooth-next 2015-06-18

    Here's the final bluetooth-next pull request for 4.2.

    - Cleanups & fixes to 802.15.4 code and related drivers
    - Fix btusb driver memory leak
    - New USB IDs for Atheros controllers
    - Support for BCM4324B3 UART based Broadcom controller
    - Fix for Bluetooth encryption key size handling
    - Broadcom controller initialization fixes
    - Support for Intel controller DDC parameters
    - Support for multiple Bluetooth LE advertising instances
    - Fix for HCI user channel cleanup path

    Please let me know if there are any issues pulling. Thanks.
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     
  • Actor and Partner details can be accessed via proc-fs, sys-fs
    entries or netlink interface. These interfaces are world readable
    at this moment. The earlier patch-series made the LACP communication
    secure to avoid nuisance attack from within the same L2 domain but
    it did not prevent "someone unprivileged" looking at that information
    on host and perform the same act.

    This patch essentially avoids spitting those entries if the user
    in question does not have enough privileges.

    Signed-off-by: Mahesh Bandewar
    Signed-off-by: Andy Gospodarek
    Signed-off-by: David S. Miller

    Mahesh Bandewar
     
  • Nicolas Ferre says:

    ====================
    net/macb: add sama5d2 support

    This series is basically the support for another flavor of the GEM IP
    configuration. It ended up being a series because of some little fixes made to
    the binding documentation before adding the new compatibility string.

    Bye,

    v2: - fix bindings
    - add sama5d2 compatibility string to the binding documentation
    ====================

    Acked-by: Alexandre Belloni
    Signed-off-by: David S. Miller

    David S. Miller
     
  • Add the compatible string for Atmel sama5d2 SoC family as the configuration
    options differ from other instances of the GEM.

    Signed-off-by: Cyrille Pitchen
    Signed-off-by: Nicolas Ferre
    Signed-off-by: David S. Miller

    Cyrille Pitchen
     
  • Add sama5d2 to the biding documentation for this use of the GEM IP.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: David S. Miller

    Nicolas Ferre
     
  • On sama5d4, we only have a GEM IP that is configured to do 10/100 Mbits. So the
    use of "Gigabit" can be confusing.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: David S. Miller

    Nicolas Ferre
     
  • In the driver and the DT bindings we use the "atmel" prefix. Fix it in the
    binding documentation.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: David S. Miller

    Nicolas Ferre
     
  • inet_diag_dump_reqs() is called from inet_diag_dump_icsk() with BH
    disabled. So no need to disable BH in inet_diag_dump_reqs().

    Signed-off-by: Hiroaki Shimoda
    Signed-off-by: David S. Miller

    Hiroaki SHIMODA
     
  • RTL8211F has different register definitions from RTL8211E.
    Specially it needs to enable TXDLY in case of RGMII.

    Signed-off-by: Shengzhou Liu
    Signed-off-by: David S. Miller

    Shengzhou Liu
     
  • …ub/scm/linux/kernel/git/kvalo/wireless-drivers-next

    Kalle Valo says:

    ====================
    Major changes:

    mwifiex:

    * enhancements for AP mode: support verbose information in station
    dump command and also information about AP link.
    * enable power save by default

    brcmfmac:

    * fix module reload issue for PCIe
    * improving msgbuf protocol for PCIe devices
    * rework .get_station() cfg80211 callback operation
    * determine interface combinations upon device feature support

    ath9k:

    * ath9k_htc: add support of channel switch

    wil6210:

    * add modparam for bcast ring size
    * support hidden SSID
    * add per-MCS Rx stats
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     
  • Remove the filter_dev check when dumping fdb entries, otherwise dump
    returns empty list. filter_dev is always passed as NULL when dumping fdbs
    on SELF. We want the fdbs installed on the device to be listed in the
    dump.

    Signed-off-by: Scott Feldman
    Fixes: 45d4122c ("switchdev: add support for fdb add/del/dump via switchdev_port_obj ops")
    Acked-by: Sridhar Samudrala
    Acked-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Scott Feldman
     

22 Jun, 2015

19 commits


21 Jun, 2015

1 commit

  • Pablo Neira Ayuso says:

    ====================
    Netfilter updates for net-next

    The following patchset contains a final Netfilter pull request for net-next
    4.2. This mostly addresses some fallout from the previous pull request, small
    netns updates and a couple of new features for nfnetlink_log and the socket
    match that didn't get in time for the previous pull request. More specifically
    they are:

    1) Add security context information to nfnetlink_queue, from Roman Kubiak.

    2) Add support to restore the sk_mark into skb->mark through xt_socket,
    from Harout Hedeshian.

    3) Force alignment of 16 bytes of per cpu xt_counters, from Eric Dumazet.

    4) Rename br_netfilter.c to br_netfilter_hooks.c to prepare split of IPv6 code
    into a separated file.

    5) Move the IPv6 code in br_netfilter into a separated file.

    6) Remove unused RCV_SKB_FAIL() in nfnetlink_queue and nfetlink_log, from Eric
    Biederman.

    7) Two liner to simplify netns logic in em_ipset_match().

    8) Add missing includes to net/net_namespace.h to avoid compilation problems
    that result from not including linux/netfilter.h in netns headers.

    9) Use a forward declaration instead of including linux/proc_fs.h from
    netns/netfilter.h

    10) Add a new linux/netfilter_defs.h to replace the linux/netfilter.h inclusion
    in netns headers.

    11) Remove spurious netfilter.h file included in the net tree, also from Eric
    Biederman.

    12) Fix x_tables compilation warnings on 32 bits platforms that resulted from
    recent changes in x_tables counters, from Florian Westphal.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

19 Jun, 2015

6 commits

  • On 32bit archs gcc complains due to cast from void* to u64.
    Add intermediate casts to long to silence these warnings.

    include/linux/netfilter/x_tables.h:376:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    include/linux/netfilter/x_tables.h:384:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    include/linux/netfilter/x_tables.h:391:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    include/linux/netfilter/x_tables.h:400:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

    Fixes: 71ae0dff02d756e ("netfilter: xtables: use percpu rule counters")
    Reported-by: kbuild test robot
    Signed-off-by: Florian Westphal
    Signed-off-by: Pablo Neira Ayuso

    Florian Westphal
     
  • While testing my netfilter changes I noticed several files where
    recompiling unncessarily because they unncessarily included
    netfilter.h.

    Signed-off-by: "Eric W. Biederman"
    Signed-off-by: Pablo Neira Ayuso

    Eric W Biederman
     
  • This pulls the full hook netfilter definitions from all those that include
    net_namespace.h.

    Instead let's just include the bare minimum required in the new
    linux/netfilter_defs.h file, and use it from the netfilter netns header files.

    I also needed to include in.h and in6.h from linux/netfilter.h otherwise we hit
    this compilation error:

    In file included from include/linux/netfilter_defs.h:4:0,
    from include/net/netns/netfilter.h:4,
    from include/net/net_namespace.h:22,
    from include/linux/netdevice.h:43,
    from net/netfilter/nfnetlink_queue_core.c:23:
    include/uapi/linux/netfilter.h:76:17: error: field ‘in’ has incomplete type struct in_addr in;

    And also explicit include linux/netfilter.h in several spots.

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: Eric W. Biederman

    Pablo Neira Ayuso
     
  • We don't need to pull the full definitions in that file, a simple forward
    declaration is enough.

    Moreover, include linux/procfs.h from nf_synproxy_core, otherwise this hits a
    compilation error due to missing declarations, ie.

    net/netfilter/nf_synproxy_core.c: In function ‘synproxy_proc_init’:
    net/netfilter/nf_synproxy_core.c:326:2: error: implicit declaration of function ‘proc_create’ [-Werror=implicit-function-declaration]
    if (!proc_create("synproxy", S_IRUGO, net->proc_net_stat,
    ^

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: Eric W. Biederman

    Pablo Neira Ayuso
     
  • Include linux/idr.h and linux/skbuff.h since they are required by objects that
    are declared in the net structure.

    struct net {
    ...
    struct idr netns_ids;
    ...
    struct sk_buff_head wext_nlevents;
    ...

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: Eric W. Biederman

    Pablo Neira Ayuso
     
  • em->net is always set and always available, use it in preference
    to dev_net(skb->dev).

    Signed-off-by: "Eric W. Biederman"
    Signed-off-by: Pablo Neira Ayuso

    Eric W. Biederman