06 Nov, 2013

6 commits

  • With Line length being constant now, we can fold the 2 helpers into 1.
    This allows applying any optimizations (forthcoming) to single place.

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Having them be different seems an obscure configuration.

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • ARC dcache supports 3 ops - Inv, Flush, Flush-n-Inv.
    The programming model however provides 2 commands FLUSH, INV.
    INV will either discard or flush-n-discard (based on DT_CTRL bit)

    The leaf helper __dc_line_loop() used to take the AUX register
    (corresponding to the 2 commands). Now we push that to within the
    helper, paving way for code consolidations to follow.

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • __get_cpu_var() is used for multiple purposes in the kernel source. One of them is
    address calculation via the form &__get_cpu_var(x). This calculates the address for
    the instance of the percpu variable of the current processor based on an offset.

    Other use cases are for storing and retrieving data from the current processors percpu area.
    __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment.

    __get_cpu_var() is defined as :

    #define __get_cpu_var(var) (*this_cpu_ptr(&(var)))

    __get_cpu_var() always only does an address determination. However, store and retrieve operations
    could use a segment prefix (or global register on other platforms) to avoid the address calculation.

    this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use
    optimized assembly code to read and write per cpu variables.

    This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr()
    or into a use of this_cpu operations that use the offset. Thereby address calcualtions are avoided
    and less registers are used when code is generated.

    At the end of the patchset all uses of __get_cpu_var have been removed so the macro is removed too.

    The patchset includes passes over all arches as well. Once these operations are used throughout then
    specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by
    f.e. using a global register that may be set to the per cpu base.

    Transformations done to __get_cpu_var()

    1. Determine the address of the percpu instance of the current processor.

    DEFINE_PER_CPU(int, y);
    int *x = &__get_cpu_var(y);

    Converts to

    int *x = this_cpu_ptr(&y);

    2. Same as #1 but this time an array structure is involved.

    DEFINE_PER_CPU(int, y[20]);
    int *x = __get_cpu_var(y);

    Converts to

    int *x = this_cpu_ptr(y);

    3. Retrieve the content of the current processors instance of a per cpu variable.

    DEFINE_PER_CPU(int, u);
    int x = __get_cpu_var(y)

    Converts to

    int x = __this_cpu_read(y);

    4. Retrieve the content of a percpu struct

    DEFINE_PER_CPU(struct mystruct, y);
    struct mystruct x = __get_cpu_var(y);

    Converts to

    memcpy(this_cpu_ptr(&x), y, sizeof(x));

    5. Assignment to a per cpu variable

    DEFINE_PER_CPU(int, y)
    __get_cpu_var(y) = x;

    Converts to

    this_cpu_write(y, x);

    6. Increment/Decrement etc of a per cpu variable

    DEFINE_PER_CPU(int, y);
    __get_cpu_var(y)++

    Converts to

    this_cpu_inc(y)

    Acked-by: Vineet Gupta
    Signed-off-by: Christoph Lameter

    Christoph Lameter
     

04 Nov, 2013

3 commits

  • Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "Three fixes across arch/mips with the most complex one being the GIC
    interrupt fix - at nine lines still not monster. I'm confident this
    are the final MIPS patches even if there should go for an rc8"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: ralink: fix return value check in rt_timer_probe()
    MIPS: malta: Fix GIC interrupt offsets
    MIPS: Perf: Fix 74K cache map

    Linus Torvalds
     
  • Negative message lengths make no sense -- so don't do negative queue
    lenghts or identifier counts. Prevent them from getting negative.

    Also change the underlying data types to be unsigned to avoid hairy
    surprises with sign extensions in cases where those variables get
    evaluated in unsigned expressions with bigger data types, e.g size_t.

    In case a user still wants to have "unlimited" sizes she could just use
    INT_MAX instead.

    Signed-off-by: Mathias Krause
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathias Krause
     

03 Nov, 2013

2 commits

  • Pull ARM kallsyms fix from Rusty Russell:
    "Last minute perf unbreakage for ARM modules; spent a day in
    linux-next"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    scripts/kallsyms: filter symbols not in kernel address space

    Linus Torvalds
     
  • A vmalloc fault needs to sync up PGD/PTE entry from init_mm to current
    task's "active_mm". ARC vmalloc fault handler however was using mm.

    A vmalloc fault for non user task context (actually pre-userland, from
    init thread's open for /dev/console) caused the handler to deref NULL mm
    (for mm->pgd)

    The reasons it worked so far is amazing:

    1. By default (!SMP), vmalloc fault handler uses a cached value of PGD.
    In SMP that MMU register is repurposed hence need for mm pointer deref.

    2. In pre-3.12 SMP kernel, the problem triggering vmalloc didn't exist in
    pre-userland code path - it was introduced with commit 20bafb3d23d108bc
    "n_tty: Move buffers into n_tty_data"

    Signed-off-by: Vineet Gupta
    Cc: Gilad Ben-Yossef
    Cc: Noam Camus
    Cc: stable@vger.kernel.org #3.10 and 3.11
    Cc: Peter Hurley
    Signed-off-by: Linus Torvalds

    Vineet Gupta
     

02 Nov, 2013

20 commits

  • This patch uses CONFIG_PAGE_OFFSET to filter symbols which
    are not in kernel address space because these symbols are
    generally for generating code purpose and can't be run at
    kernel mode, so we needn't keep them in /proc/kallsyms.

    For example, on ARM there are some symbols which may be
    linked in relocatable code section, then perf can't parse
    symbols any more from /proc/kallsyms, this patch fixes the
    problem (introduced b9b32bf70f2fb710b07c94e13afbc729afe221da)

    Cc: Russell King
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Michal Marek
    Signed-off-by: Ming Lei
    Signed-off-by: Rusty Russell
    Cc: stable@vger.kernel.org

    Ming Lei
     
  • Pull perf fixes from Ingo Molnar:
    "Two fixes:

    - Fix 'NMI handler took too long to run' false positives

    [ Genuine NMI overhead speedups will come for v3.13, this commit
    only fixes a measurement bug ]

    - Fix perf ring-buffer missed barrier causing (rare) ring-buffer data
    corruption on ppc64"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86: Fix NMI measurements
    perf: Fix perf ring buffer memory ordering

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here is a set of patches that revert all of the changes done to the
    pl2303 USB serial driver in the 3.12-rc timeframe, as it turns out
    they break some devices that work just fine on 3.11. As it's not a
    good idea to break working systems, drop them all and they will be
    reworked for future kernel versions such that there is no breakage.

    I've also included a MAINTAINERS update for the USB serial subsystem
    and a new device id for the ftdi_sio driver as well"

    * tag 'usb-3.12-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: serial: ftdi_sio: add id for Z3X Box device
    USB: Maintainers change for usb serial drivers
    Revert "USB: pl2303: restrict the divisor based baud rate encoding method to the "HX" chip type"
    Revert "usb: pl2303: fix+improve the divsor based baud rate encoding method"
    Revert "usb: pl2303: do not round to the next nearest standard baud rate for the divisor based baud rate encoding method"
    Revert "usb: pl2303: remove 500000 baud from the list of standard baud rates"
    Revert "usb: pl2303: move the two baud rate encoding methods to separate functions"
    Revert "usb: pl2303: increase the allowed baud rate range for the divisor based encoding method"
    Revert "usb: pl2303: also use the divisor based baud rate encoding method for baud rates < 115200 with HX chips"
    Revert "usb: pl2303: add two comments concerning the supported baud rates with HX chips"
    Revert "pl2303: simplify the else-if contruct for type_1 chips in pl2303_startup()"
    Revert "pl2303: improve the chip type information output on startup"
    Revert "pl2303: improve the chip type detection/distinction"
    Revert "USB: pl2303: distinguish between original and cloned HX chips"

    Linus Torvalds
     
  • Pull more sound fixes from Takashi Iwai:
    "The fixes for random bugs that have been reported lately in the game:
    a few fixes in ASoC dpam and wm_hubs bugs spotted by Coverity, a
    one-liner HD-audio fixup, and a fix for Oops with DPCM.

    They are not so critically urgent bugs, but all small and safe"

    * tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM
    ASoC: wm_hubs: Add missing break in hp_supply_event()
    ALSA: hda - Add a fixup for ASUS N76VZ
    ASoC: dapm: Return -ENOMEM in snd_soc_dapm_new_dai_widgets()
    ASoC: dapm: Fix source list debugfs outputs

    Linus Torvalds
     
  • Pull clock subsystem fixes from Mike Turquette.

    * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux:
    clk: fixup argument order when setting VCO parameters
    clk: socfpga: Fix incorrect sdmmc clock name
    clk: armada-370: fix tclk frequencies
    clk: nomadik: set all timers to use 2.4 MHz TIMCLK

    Linus Torvalds
     
  • When a memcg is deleted mem_cgroup_reparent_charges() moves charged
    memory to the parent memcg. As of v3.11-9444-g3ea67d0 "memcg: add per
    cgroup writeback pages accounting" there's bad pointer read. The goal
    was to check for counter underflow. The counter is a per cpu counter
    and there are two problems with the code:

    (1) per cpu access function isn't used, instead a naked pointer is used
    which easily causes oops.
    (2) the check doesn't sum all cpus

    Test:
    $ cd /sys/fs/cgroup/memory
    $ mkdir x
    $ echo 3 > /proc/sys/vm/drop_caches
    $ (echo $BASHPID >> x/tasks && exec cat) &
    [1] 7154
    $ grep ^mapped x/memory.stat
    mapped_file 53248
    $ echo 7154 > tasks
    $ rmdir x

    The fix is to remove the check. It's currently dangerous and isn't
    worth fixing it to use something expensive, such as
    percpu_counter_sum(), for each reparented page. __this_cpu_read() isn't
    enough to fix this because there's no guarantees of the current cpus
    count. The only guarantees is that the sum of all per-cpu counter is >=
    nr_pages.

    Fixes: 3ea67d06e467 ("memcg: add per cgroup writeback pages accounting")
    Reported-and-tested-by: Flavio Leitner
    Signed-off-by: Greg Thelen
    Reviewed-by: Sha Zhengju
    Acked-by: Johannes Weiner
    Signed-off-by: Hugh Dickins
    Signed-off-by: Linus Torvalds

    Greg Thelen
     
  • Custom VID/PID for Z3X Box device, popular tool for cellphone flashing.

    Signed-off-by: Alexey E. Kramarenko
    Signed-off-by: Greg Kroah-Hartman

    Алексей Крамаренко
     
  • Johan has been conned^Wgracious in accepting the maintainership of the
    USB serial drivers, especially as he's been doing all of the real work
    for the past few years.

    At the same time, remove a bunch of old entries for USB serial drivers
    that don't make sense anymore, given that the developers are no longer
    around, and individual driver maintainerships for tiny things like this
    is pretty pointless.

    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Greg KH
     
  • This reverts commit b8bdad608213caffa081a97d2e937e5fe08c4046.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg
    Cc: Frank Schäfer
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This reverts commit 57ce61aad748ceaa08c859da04043ad7dae7c15e.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg
    Cc: Frank Schäfer
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • … divisor based baud rate encoding method"

    This reverts commit 75417d9f99f89ab241de69d7db15af5842b488c4.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Cc: Frank Schäfer <fschaefer.oss@googlemail.com>
    Acked-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Greg Kroah-Hartman
     
  • This reverts commit b9208c721ce736125fe58d398319513a27850fd8.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg
    Cc: Frank Schäfer
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This reverts commit e917ba01d69ad705a4cd6a6c77538f55d84f5907.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg
    Cc: Frank Schäfer
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This reverts commit b5c16c6a031c52cc4b7dda6c3de46462fbc92eab.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg
    Cc: Frank Schäfer
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • …ud rates < 115200 with HX chips"

    This reverts commit 61fa8d694b8547894b57ea0d99d0120a58f6ebf8.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Cc: Frank Schäfer <fschaefer.oss@googlemail.com>
    Acked-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Greg Kroah-Hartman
     
  • This reverts commit c23bda365dfbf56aa4d6d4a97f83136c36050e01.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg
    Cc: Frank Schäfer
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This reverts commit 73b583af597542329e6adae44524da6f27afed62.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg
    Cc: Frank Schäfer
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This reverts commit a77a8c23e4db9fb1f776147eda0d85117359c700.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg
    Cc: Frank Schäfer
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This reverts commit 034d1527adebd302115c87ef343497a889638275.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg
    Cc: Frank Schäfer
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This reverts commit 7d26a78f62ff4fb08bc5ba740a8af4aa7ac67da4.

    Revert all of the pl2303 changes that went into 3.12-rc1 and -rc2 as
    they cause regressions on some versions of the chip. This will all be
    revisited for later kernel versions when we can figure out how to handle
    this in a way that does not break working devices.

    Reported-by: Mika Westerberg
    Cc: Frank Schäfer
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

01 Nov, 2013

9 commits

  • Merge four more fixes from Andrew Morton.

    * emailed patches from Andrew Morton :
    lib/scatterlist.c: don't flush_kernel_dcache_page on slab page
    mm: memcg: fix test for child groups
    mm: memcg: lockdep annotation for memcg OOM lock
    mm: memcg: use proper memcg in limit bypass

    Linus Torvalds
     
  • Commit b1adaf65ba03 ("[SCSI] block: add sg buffer copy helper
    functions") introduces two sg buffer copy helpers, and calls
    flush_kernel_dcache_page() on pages in SG list after these pages are
    written to.

    Unfortunately, the commit may introduce a potential bug:

    - Before sending some SCSI commands, kmalloc() buffer may be passed to
    block layper, so flush_kernel_dcache_page() can see a slab page
    finally

    - According to cachetlb.txt, flush_kernel_dcache_page() is only called
    on "a user page", which surely can't be a slab page.

    - ARCH's implementation of flush_kernel_dcache_page() may use page
    mapping information to do optimization so page_mapping() will see the
    slab page, then VM_BUG_ON() is triggered.

    Aaro Koskinen reported the bug on ARM/kirkwood when DEBUG_VM is enabled,
    and this patch fixes the bug by adding test of '!PageSlab(miter->page)'
    before calling flush_kernel_dcache_page().

    Signed-off-by: Ming Lei
    Reported-by: Aaro Koskinen
    Tested-by: Simon Baatz
    Cc: Russell King - ARM Linux
    Cc: Will Deacon
    Cc: Aaro Koskinen
    Acked-by: Catalin Marinas
    Cc: FUJITA Tomonori
    Cc: Tejun Heo
    Cc: "James E.J. Bottomley"
    Cc: Jens Axboe
    Cc: [3.2+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ming Lei
     
  • When memcg code needs to know whether any given memcg has children, it
    uses the cgroup child iteration primitives and returns true/false
    depending on whether the iteration loop is executed at least once or
    not.

    Because a cgroup's list of children is RCU protected, these primitives
    require the RCU read-lock to be held, which is not the case for all
    memcg callers. This results in the following splat when e.g. enabling
    hierarchy mode:

    WARNING: CPU: 3 PID: 1 at kernel/cgroup.c:3043 css_next_child+0xa3/0x160()
    CPU: 3 PID: 1 Comm: systemd Not tainted 3.12.0-rc5-00117-g83f11a9-dirty #18
    Hardware name: LENOVO 3680B56/3680B56, BIOS 6QET69WW (1.39 ) 04/26/2012
    Call Trace:
    dump_stack+0x54/0x74
    warn_slowpath_common+0x78/0xa0
    warn_slowpath_null+0x1a/0x20
    css_next_child+0xa3/0x160
    mem_cgroup_hierarchy_write+0x5b/0xa0
    cgroup_file_write+0x108/0x2a0
    vfs_write+0xbd/0x1e0
    SyS_write+0x4c/0xa0
    system_call_fastpath+0x16/0x1b

    In the memcg case, we only care about children when we are attempting to
    modify inheritable attributes interactively. Racing with deletion could
    mean a spurious -EBUSY, no problem. Racing with addition is handled
    just fine as well through the memcg_create_mutex: if the child group is
    not on the list after the mutex is acquired, it won't be initialized
    from the parent's attributes until after the unlock.

    Signed-off-by: Johannes Weiner
    Acked-by: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • The memcg OOM lock is a mutex-type lock that is open-coded due to
    memcg's special needs. Add annotations for lockdep coverage.

    Signed-off-by: Johannes Weiner
    Cc: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Commit 84235de394d9 ("fs: buffer: move allocation failure loop into the
    allocator") allowed __GFP_NOFAIL allocations to bypass the limit if they
    fail to reclaim enough memory for the charge. But because the main test
    case was on a 3.2-based system, the patch missed the fact that on newer
    kernels the charge function needs to return root_mem_cgroup when
    bypassing the limit, and not NULL. This will corrupt whatever memory is
    at NULL + percpu pointer offset. Fix this quickly before problems are
    reported.

    Signed-off-by: Johannes Weiner
    Acked-by: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • We do not want to dirty the dentry->d_flags cacheline in dput() just to
    set the DCACHE_REFERENCED flag when it is already set in the common case
    anyway. This way the first cacheline of the dentry (which contains the
    RCU lookup information etc) can stay shared among multiple CPU's.

    This finishes off some of the details of all the scalability patches
    merged during the merge window.

    Also don't mark dentry_kill() for inlining, since it's the uncommon path
    and inlining it just makes the common path slower due to extra function
    entry/exit overhead.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • The last i915 drm update brought with it this annoying warning

    drivers/gpu/drm/i915/intel_crt.c: In function ‘intel_crt_get_config’:
    drivers/gpu/drm/i915/intel_crt.c:110:21: warning: unused variable ‘dev’ [-Wunused-variable]
    struct drm_device *dev = encoder->base.dev;
    ^

    introduced by commit 7195a50b5c7e ("drm/i915: Add HSW CRT output readout
    support").

    Remove the offending pointless variable.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull NUMA balancing memory corruption fixes from Ingo Molnar:
    "So these fixes are definitely not something I'd like to sit on, but as
    I said to Mel at the KS the timing is quite tight, with Linus planning
    v3.12-final within a week.

    Fedora-19 is affected:

    comet:~> grep NUMA_BALANCING /boot/config-3.11.3-201.fc19.x86_64

    CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
    CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
    CONFIG_NUMA_BALANCING=y

    AFAICS Ubuntu will be affected as well, once it updates the kernel:

    hubble:~> grep NUMA_BALANCING /boot/config-3.8.0-32-generic

    CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
    CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
    CONFIG_NUMA_BALANCING=y

    These 6 commits are a minimalized set of cherry-picks needed to fix
    the memory corruption bugs. All commits are fixes, except "mm: numa:
    Sanitize task_numa_fault() callsites" which is a cleanup that made two
    followup fixes simpler.

    I've done targeted testing with just this SHA1 to try to make sure
    there are no cherry-picking artifacts. The original non-cherry-picked
    set of fixes were exposed to linux-next for a couple of weeks"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    mm: Account for a THP NUMA hinting update as one PTE update
    mm: Close races between THP migration and PMD numa clearing
    mm: numa: Sanitize task_numa_fault() callsites
    mm: Prevent parallel splits during THP migration
    mm: Wait for THP migrations to complete during NUMA hinting faults
    mm: numa: Do not account for a hinting fault if we raced

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:
    "A bit later than I would want, but the changes are very minor - a few
    new device IDs for new hardware in existing drivers, fix for battery
    in Wacom devices not be considered system battery and cause emergency
    hibernations, and a couple of other bug fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: ALPS - add support for model found on Dell XT2
    Input: wacom - add support for ISDv4 0x10E sensor
    Input: wacom - add support for ISDv4 0x10F sensor
    Input: wacom - export battery scope
    Input: cm109 - convert high volume dev_err() to dev_err_ratelimited()
    Input: move name/timer init to input_alloc_dev()
    Input: i8042 - i8042_flush fix for a full 8042 buffer
    Input: pxa27x_keypad - fix NULL pointer dereference

    Linus Torvalds