04 Jan, 2014

2 commits

  • Zefan Li requested [1] to perform the following cleanup/refactoring:

    - Split cgroupfs classid handling into net core to better express a
    possible more generic use.

    - Disable module support for cgroupfs bits as the majority of other
    cgroupfs subsystems do not have that, and seems to be not wished
    from cgroup side. Zefan probably might want to follow-up for netprio
    later on.

    - By this, code can be further reduced which previously took care of
    functionality built when compiled as module.

    cgroupfs bits are being placed under net/core/netclassid_cgroup.c, so
    that we are consistent with {netclassid,netprio}_cgroup naming that is
    under net/core/ as suggested by Zefan.

    No change in functionality, but only code refactoring that is being
    done here.

    [1] http://patchwork.ozlabs.org/patch/304825/

    Suggested-by: Li Zefan
    Signed-off-by: Daniel Borkmann
    Cc: Zefan Li
    Cc: Thomas Graf
    Cc: cgroups@vger.kernel.org
    Acked-by: Li Zefan
    Signed-off-by: Pablo Neira Ayuso

    Daniel Borkmann
     
  • Function never used in current upstream code.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Pablo Neira Ayuso

    stephen hemminger
     

13 Dec, 2013

2 commits

  • This patch modifies the GRO stack to avoid the use of "network_header"
    and associated macros like ip_hdr() and ipv6_hdr() in order to allow
    an arbitary number of IP hdrs (v4 or v6) to be used in the
    encapsulation chain. This lays the foundation for various IP
    tunneling support (IP-in-IP, GRE, VXLAN, SIT,...) to be added later.

    With this patch, the GRO stack traversing now is mostly based on
    skb_gro_offset rather than special hdr offsets saved in skb (e.g.,
    skb->network_header). As a result all but the top layer (i.e., the
    the transport layer) must have hdrs of the same length in order for
    a pkt to be considered for aggregation. Therefore when adding a new
    encap layer (e.g., for tunneling), one must check and skip flows
    (e.g., by setting NAPI_GRO_CB(p)->same_flow to 0) that have a
    different hdr length.

    Note that unlike the network header, the transport header can and
    will continue to be set by the GRO code since there will be at
    most one "transport layer" in the encap chain.

    Signed-off-by: H.K. Jerry Chu
    Suggested-by: Eric Dumazet
    Reviewed-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Jerry Chu
     
  • Since now macvlan and macvtap use the same receive and
    forward handlers, we can remove them completely and use
    netif_rx and dev_forward_skb() directly.

    Signed-off-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Vlad Yasevich
     

12 Dec, 2013

1 commit

  • Help of this function says: "in_dev: only on this interface, 0=any interface",
    but since commit 39a6d0630012 ("[NETNS]: Process inet_confirm_addr in the
    correct namespace."), the code supposes that it will never be NULL. This
    function is never called with in_dev == NULL, but it's exported and may be used
    by an external module.

    Because this patch restore the ability to call inet_confirm_addr() with in_dev
    == NULL, I partially revert the above commit, as suggested by Julian.

    CC: Julian Anastasov
    Signed-off-by: Nicolas Dichtel
    Reviewed-by: Julian Anastasov
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     

11 Dec, 2013

2 commits

  • TIPC is currently using the field 'af_packet_priv' in struct net_device
    as a handle to find the bearer instance associated to the given network
    device. But, by doing so it is blocking other networking cleanups, such
    as the one discussed here:

    http://patchwork.ozlabs.org/patch/178044/

    This commit removes this usage from TIPC. Instead, we introduce a new
    field, 'tipc_ptr', to the net_device structure, to serve this purpose.
    When TIPC bearer is enabled, the bearer object is associated to
    'tipc_ptr'. When a TIPC packet arrives in the recv_msg() upcall
    from a networking device, the bearer object can now be obtained from
    'tipc_ptr'. When a bearer is disabled, the bearer object is detached
    from its underlying network device by setting 'tipc_ptr' to NULL.

    Additionally, an RCU lock is used to protect the new pointer.
    Henceforth, the existing tipc_net_lock is used in write mode to
    serialize write accesses to this pointer, while the new RCU lock is
    applied on the read side to ensure that the pointer is 100% valid
    within its wrapped area for all readers.

    Signed-off-by: Ying Xue
    Cc: Patrick McHardy
    Reviewed-by: Paul Gortmaker
    Signed-off-by: Jon Maloy
    Signed-off-by: David S. Miller

    Ying Xue
     
  • Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Jiri Pirko
     

10 Dec, 2013

8 commits

  • tclass information in now already stored in rcv_flowinfo
    We do not need to store the same information twice.

    Signed-off-by: Florent Fourcot
    Reviewed-by: Hannes Frederic Sowa
    Signed-off-by: David S. Miller

    Florent Fourcot
     
  • The current implementation of IPV6_FLOWINFO only gives a
    result if pktoptions is available (thanks to the
    ip6_datagram_recv_ctl function).
    It gives inconsistent results to user space, sometimes
    there is a result for getsockopt(IPV6_FLOWINFO), sometimes
    not.

    This patch add rcv_flowinfo to store it, and return it to
    the userspace in the same way than other pkt_options.

    Signed-off-by: Florent Fourcot
    Reviewed-by: Hannes Frederic Sowa
    Signed-off-by: David S. Miller

    Florent Fourcot
     
  • If CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is set,
    several is__ether_addr functions can be slightly
    improved by using u32 dereferences.

    I believe all current uses of is_zero_ether_addr and
    is_broadcast_ether_addr are u16 aligned, so always use
    u16 references to improve those functions performance.

    Document the u16 alignment requirements.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     
  • Add a generic routine to test if possibly unaligned
    to u16 Ethernet addresses are equal.

    If CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is set,
    this uses the slightly faster generic routine
    ether_addr_equal, otherwise this uses memcmp.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     
  • Previously inet devices were only constructed when addresses are added.
    Therefore the default neigh parms values they get are the ones at the
    time of these operations.

    Now that we're creating inet devices earlier, this changes the behaviour
    of default neigh parms values in an incompatible way (see bug #8519).

    This patch creates a compromise by setting the default values at the
    same point as before but only for those that have not been explicitly
    set by the user since the inet device's creation.

    Introduced by:
    commit 8030f54499925d073a88c09f30d5d844fb1b3190
    Author: Herbert Xu
    Date: Thu Feb 22 01:53:47 2007 +0900

    [IPV4] devinet: Register inetdev earlier.

    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • The PHY library already reads the MII_STAT1000 and MII_LPA registers in
    genphy_read_status(), so extend it to also populate the PHY device link
    partner advertised features such that we can feed this back into ethtool
    when asked for it in phy_ethtool_gset().

    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Florian Fainelli
     
  • As we need it elsewhere, move the inline helper function of
    skb_needs_linearize() over to skbuff.h include file. While
    at it, also convert the return to 'bool' instead of 'int'
    and add a proper kernel doc.

    Signed-off-by: Daniel Borkmann
    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: David S. Miller

    Daniel Borkmann
     
  • Merge 'net' into 'net-next' to get the AF_PACKET bug fix that
    Daniel's direct transmit changes depend upon.

    Signed-off-by: David S. Miller

    David S. Miller
     

07 Dec, 2013

5 commits

  • Add a new check for CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS to reduce
    the number of or's used in the ether_addr_equal comparison to very
    slightly improve function performance.

    Simplify the ether_addr_equal_64bits implementation.
    Integrate and remove the zap_last_2bytes helper as it's now
    used only once.

    Remove the now unused compare_ether_addr function.

    Update the unaligned-memory-access documentation to remove the
    compare_ether_addr description and show how unaligned accesses
    could occur with ether_addr_equal.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     
  • Some network drivers use dev_kfree_skb_any() and dev_kfree_skb_irq()
    helpers to free skbs, both for dropped packets and TX completed ones.

    We need to separate the two causes to get better diagnostics
    given by dropwatch or "perf record -e skb:kfree_skb"

    This patch provides two new helpers, dev_consume_skb_any() and
    dev_consume_skb_irq() to be used for consumed skbs.

    __dev_kfree_skb_irq() is slightly optimized to remove one
    atomic_dec_and_test() in fast path, and use this_cpu_{r|w} accessors.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Breakdown the PHY_*_FEATURES into per speed defines such that we can
    easily re-use them individually.

    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Florian Fainelli
     
  • John W. Linville says:

    ====================
    Please pull this batch of updates intended for the 3.14 stream...

    For the mac80211 bits, Johannes says:

    "I have various improvements/cleanups/fixes all over, but the shortlog
    shows that Luis's regulatory work and mesh work from the cozybit folks
    are the biggest ones, along with the CSA fixes."

    Along with that, we have big batches of updates to brcmfmac, rtlwifi,
    and ath9k. There are updates to wcn36xx, rt2x00, and a handful of
    others as well.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Several files refer to an old address for the Free Software Foundation
    in the file header comment. Resolve by replacing the address with
    the URL so that we do not have to keep
    updating the header comments anytime the address changes.

    CC: Vlad Yasevich
    CC: Neil Horman
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Jeff Kirsher
     

06 Dec, 2013

2 commits


03 Dec, 2013

6 commits


29 Nov, 2013

1 commit

  • Pull GPIO fixes from Linus Walleij:
    "Here us a bunch of patches for the v3.13 series. Most important stuff
    is related to fixes and documentation for the new GPIO descriptor API.
    If the diffstat is scary you'll notice most of it is to
    Documentation/*:

    - A big slew of documentation for the gpiod transition that happened
    in the merge window, no semantic effect, but we should provide
    proper documentation with the new API.

    - Fix flags related to the new API.

    - Fix to the find_chip_by_name() lookup function related to the new
    API.

    - Fix of_find_gpio() when not using device tree.

    - Bug fix for the TB10x direction setting.

    - Error path fixes from Dan Carpenter.

    - Nasty IRQdomain bug relating to taking an unitialized spinlock.

    - Minor fixes here and there"

    * tag 'gpio-v3.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: bcm281xx: Fix return value of bcm_kona_gpio_get()
    gpio: pl061: move irqdomain initialization
    gpio: ucb1400: Add MODULE_ALIAS
    gpiolib: fix of_find_gpio() when OF not defined
    gpio: fix memory leak in error path
    gpio: rcar: NULL dereference on error in probe()
    gpio: msm: make msm_gpio.summary_irq signed for error handling
    gpio: mvebu: make mvchip->irqbase signed for error handling
    gpiolib: use dedicated flags for GPIO properties
    gpiolib: fix find_chip_by_name()
    Documentation: gpiolib: document new interface
    gpio: tb10x: Set output value before setting direction to output

    Linus Torvalds
     

28 Nov, 2013

1 commit

  • Pull staging fixes from Greg KH:
    "Here are a number of staging, and IIO driver, fixes for 3.13-rc2 that
    resolve issues that have been reported for 3.13-rc1. All of these
    have been in linux-next for a bit this week"

    * tag 'staging-3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (25 commits)
    Staging: tidspbridge: disable driver
    staging: zsmalloc: Ensure handle is never 0 on success
    staging/lustre/ptlrpc: fix ptlrpc_stop_pinger logic
    staging: r8188eu: Fix AP mode
    Staging: btmtk_usb: Add hdev parameter to hdev->send driver callback
    Staging: go7007: fix up some remaining go->dev issues
    staging: imx-drm: Fix modular build of DRM_IMX_IPUV3
    staging: ft1000: fix use of potentially uninitialized variable
    Revert "staging:media: Use dev_dbg() instead of pr_debug()"
    Staging: zram: Fix memory leak by refcount mismatch
    staging: vt6656: [BUG] Fix for TX USB resets from vendors driver.
    staging: nvec: potential NULL dereference on error path
    Staging: vt6655-6: potential NULL dereference in hostap_disable_hostapd()
    staging: comedi: s626: fix value written by s626_set_dac()
    Staging: comedi: pcl730: fix some bitwise vs logical AND bugs
    staging: comedi: fix potentially uninitialised variable
    iio:accel:kxsd9 fix missing mutex unlock
    iio: adc: ti_am335x_adc: avoid double free of buffer.
    staging:iio: Fix hmc5843 Kconfig dependencies
    iio: Fix tcs3472 Kconfig dependencies
    ...

    Linus Torvalds
     

27 Nov, 2013

1 commit

  • Pull ARM SoC fixes from Olof Johansson:
    "Mostly bugfixes and a few small code removals. Worth pointing out is:

    - A handful of more fixes to get DT enablement working properly on
    OMAP, finding new breakage of things that don't work quite right
    yet without the traditional board files. I expect a bit more of
    this to come in this release as people test on their hardware.
    - Implementation of power_down_finish() on vexpress, to make kexec
    work and to stop the MCPM core to produce a warning (the warning
    was new to 3.13-rc1).
    - A handful of minor fixes for various platforms"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: bcm2835: add missing #xxx-cells to I2C nodes
    ARM: dts: Add max77686 RTC interrupt to cros5250-common
    ARM: vexpress/TC2: Implement MCPM power_down_finish()
    ARM: tegra: Provide dummy powergate implementation
    ARM: omap: fix warning with LPAE build
    ARM: OMAP2+: Remove legacy omap4_twl6030_hsmmc_init
    ARM: OMAP2+: Remove legacy mux code for display.c
    ARM: OMAP2+: Fix undefined reference to set_cntfreq
    gpio: twl4030: Fix passing of pdata in the device tree case
    gpio: twl4030: Fix regression for twl gpio output
    ARM: OMAP2+: More randconfig fixes for reconfigure_io_chain
    ARM: dts: imx6qdl: disable spdif "rxtx5" clock option
    ARM: dts: Fix omap2 specific dtsi files by adding the missing entries
    ARM: OMAP2+: Fix GPMC and simplify bootloader timings for 8250 and smc91x
    i2c: omap: Fix missing device tree flags for omap2

    Linus Torvalds
     

26 Nov, 2013

3 commits

  • In order to support increased build test coverage for drivers, implement
    dummies for the powergate implementation. This will allow the drivers to
    be built without requiring support for Tegra to be selected.

    This patch solves the following build errors, which can be triggered in
    v3.13-rc1 by selecting DRM_TEGRA without ARCH_TEGRA:

    drivers/built-in.o: In function `gr3d_remove':
    drivers/gpu/drm/tegra/gr3d.c:321: undefined reference to `tegra_powergate_power_off'
    drivers/gpu/drm/tegra/gr3d.c:325: undefined reference to `tegra_powergate_power_off'
    drivers/built-in.o: In function `gr3d_probe':
    drivers/gpu/drm/tegra/gr3d.c:266: undefined reference to `tegra_powergate_sequence_power_up'
    drivers/gpu/drm/tegra/gr3d.c:273: undefined reference to `tegra_powergate_sequence_power_up'

    Signed-off-by: Thierry Reding
    [swarren, updated commit description]
    Signed-off-by: Stephen Warren
    Signed-off-by: Olof Johansson

    Thierry Reding
     
  • …23/iio into staging-linus

    Jonathan writes:

    First round of fixes for IIO in the 3.13 cycle.

    The usual mixed bag of fixes.

    * 3 cases where kconfig dependencies were missing. We need to keep a closer
    eye on this in new drivers.

    * hid_sensors was abusing the iio_dev->trigger pointer. We had a round
    of clearing this out some time ago but this driver clearly slipped through.

    * A misuse of the IIO_ST macro, in mcp3422, which we should really make a
    concertive effort to finish removing.

    * Avoid a double free introduced by recent buffer reference counting in the
    one driver that (quite reasonably!) does things differently (am335x)

    * A missing mutex_unlock in kxsd9 that means that driver has been non
    functional for some time and no one noticed (including me who for once
    actually has one of the supported devices).

    * An incorrect assumption about the parameters of sign_extend32 in mcp3422.

    So nothing controversial. The only substantial patch is the hid_sensors
    one and that is actually just adding a new pointer to the devices private
    state then moving the code over to it.

    Greg Kroah-Hartman
     
  • Introduce shift and mask defines for beamformee STS cap and number
    of sounding dimensions cap as these can take any 3 bit value.
    While at it also cleanup an unrequired parenthesis.

    Signed-off-by: Eyal Shapira
    Reviewed-by: Johannes Berg
    Signed-off-by: Emmanuel Grumbach
    Signed-off-by: Johannes Berg

    Eyal Shapira
     

25 Nov, 2013

2 commits

  • GPIO mapping properties were defined using the GPIOF_* flags, which are
    declared in linux/gpio.h. This file is not included when using the
    GPIO descriptor interface.

    This patch declares the flags that can be used as GPIO mappings
    properties in linux/gpio/driver.h, and uses them in gpiolib, so that no
    deprecated declarations are used by the GPIO descriptor interface.

    This patch also allows GPIO_OPEN_DRAIN and GPIO_OPEN_SOURCE to be
    specified as GPIO mapping properties.

    Signed-off-by: Alexandre Courbot
    Signed-off-by: Linus Walleij

    Alexandre Courbot
     
  • Fix kernel-doc warning for duplicate definition of 'kmalloc':

    Documentation/DocBook/kernel-api.xml:9483: element refentry: validity error : ID API-kmalloc already defined

    Also combine the kernel-doc info from the 2 kmalloc definitions into one
    block and remove the "see kcalloc" comment since kmalloc now contains the
    @flags info.

    Signed-off-by: Randy Dunlap
    Acked-by: Christoph Lameter
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

24 Nov, 2013

1 commit

  • Pull crypto update from Herbert Xu:
    - Made x86 ablk_helper generic for ARM
    - Phase out chainiv in favour of eseqiv (affects IPsec)
    - Fixed aes-cbc IV corruption on s390
    - Added constant-time crypto_memneq which replaces memcmp
    - Fixed aes-ctr in omap-aes
    - Added OMAP3 ROM RNG support
    - Add PRNG support for MSM SoC's
    - Add and use Job Ring API in caam
    - Misc fixes

    [ NOTE! This pull request was sent within the merge window, but Herbert
    has some questionable email sending setup that makes him public enemy
    #1 as far as gmail is concerned. So most of his emails seem to be
    trapped by gmail as spam, resulting in me not seeing them. - Linus ]

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (49 commits)
    crypto: s390 - Fix aes-cbc IV corruption
    crypto: omap-aes - Fix CTR mode counter length
    crypto: omap-sham - Add missing modalias
    padata: make the sequence counter an atomic_t
    crypto: caam - Modify the interface layers to use JR API's
    crypto: caam - Add API's to allocate/free Job Rings
    crypto: caam - Add Platform driver for Job Ring
    hwrng: msm - Add PRNG support for MSM SoC's
    ARM: DT: msm: Add Qualcomm's PRNG driver binding document
    crypto: skcipher - Use eseqiv even on UP machines
    crypto: talitos - Simplify key parsing
    crypto: picoxcell - Simplify and harden key parsing
    crypto: ixp4xx - Simplify and harden key parsing
    crypto: authencesn - Simplify key parsing
    crypto: authenc - Export key parsing helper function
    crypto: mv_cesa: remove deprecated IRQF_DISABLED
    hwrng: OMAP3 ROM Random Number Generator support
    crypto: sha256_ssse3 - also test for BMI2
    crypto: mv_cesa - Remove redundant of_match_ptr
    crypto: sahara - Remove redundant of_match_ptr
    ...

    Linus Torvalds
     

23 Nov, 2013

3 commits

  • Pull PCI updates from Bjorn Helgaas:
    "Miscellaneous
    - Remove duplicate disable from pcie_portdrv_remove() (Yinghai Lu)
    - Fix whitespace, capitalization, and spelling errors (Bjorn Helgaas)"

    * tag 'pci-v3.13-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    PCI: Remove duplicate pci_disable_device() from pcie_portdrv_remove()
    PCI: Fix whitespace, capitalization, and spelling errors

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) Fix memory leaks and other issues in mwifiex driver, from Amitkumar
    Karwar.

    2) skb_segment() can choke on packets using frag lists, fix from
    Herbert Xu with help from Eric Dumazet and others.

    3) IPv4 output cached route instantiation properly handles races
    involving two threads trying to install the same route, but we
    forgot to propagate this logic to input routes as well. Fix from
    Alexei Starovoitov.

    4) Put protections in place to make sure that recvmsg() paths never
    accidently copy uninitialized memory back into userspace and also
    make sure that we never try to use more that sockaddr_storage for
    building the on-kernel-stack copy of a sockaddr. Fixes from Hannes
    Frederic Sowa.

    5) R8152 driver transmit flow bug fixes from Hayes Wang.

    6) Fix some minor fallouts from genetlink changes, from Johannes Berg
    and Michael Opdenacker.

    7) AF_PACKET sendmsg path can race with netdevice unregister notifier,
    fix by using RCU to make sure the network device doesn't go away
    from under us. Fix from Daniel Borkmann.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (43 commits)
    gso: handle new frag_list of frags GRO packets
    genetlink: fix genl_set_err() group ID
    genetlink: fix genlmsg_multicast() bug
    packet: fix use after free race in send path when dev is released
    xen-netback: stop the VIF thread before unbinding IRQs
    wimax: remove dead code
    net/phy: Add the autocross feature for forced links on VSC82x4
    net/phy: Add VSC8662 support
    net/phy: Add VSC8574 support
    net/phy: Add VSC8234 support
    net: add BUG_ON if kernel advertises msg_namelen > sizeof(struct sockaddr_storage)
    net: rework recvmsg handler msg_name and msg_namelen logic
    bridge: flush br's address entry in fdb when remove the
    net: core: Always propagate flag changes to interfaces
    ipv4: fix race in concurrent ip_route_input_slow()
    r8152: fix incorrect type in assignment
    r8152: support stopping/waking tx queue
    r8152: modify the tx flow
    r8152: fix tx/rx memory overflow
    netfilter: ebt_ip6: fix source and destination matching
    ...

    Linus Torvalds
     
  • Pull SLAB changes from Pekka Enberg:
    "The patches from Joonsoo Kim switch mm/slab.c to use 'struct page' for
    slab internals similar to mm/slub.c. This reduces memory usage and
    improves performance:

    https://lkml.org/lkml/2013/10/16/155

    Rest of the changes are bug fixes from various people"

    * 'slab/next' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux: (21 commits)
    mm, slub: fix the typo in mm/slub.c
    mm, slub: fix the typo in include/linux/slub_def.h
    slub: Handle NULL parameter in kmem_cache_flags
    slab: replace non-existing 'struct freelist *' with 'void *'
    slab: fix to calm down kmemleak warning
    slub: proper kmemleak tracking if CONFIG_SLUB_DEBUG disabled
    slab: rename slab_bufctl to slab_freelist
    slab: remove useless statement for checking pfmemalloc
    slab: use struct page for slab management
    slab: replace free and inuse in struct slab with newly introduced active
    slab: remove SLAB_LIMIT
    slab: remove kmem_bufctl_t
    slab: change the management method of free objects of the slab
    slab: use __GFP_COMP flag for allocating slab pages
    slab: use well-defined macro, virt_to_slab()
    slab: overloading the RCU head over the LRU for RCU free
    slab: remove cachep in struct slab_rcu
    slab: remove nodeid in struct slab
    slab: remove colouroff in struct slab
    slab: change return type of kmem_getpages() to struct page
    ...

    Linus Torvalds