Skip to content
Permalink
Branch: linux-3.19-BFS…
Commits on Feb 15, 2015
  1. [BFS-460 port to 3.19] further leaving out cgroups and cpuset stuff to

    kernelOfTruth committed Feb 15, 2015
    make the kernel compile with BFS - temporary solution, changes introduced
    due to deadline scheduler issues;
    
    references:
    https://lkml.org/lkml/2014/11/4/621 [tip:sched/core] sched/core: Use dl_bw_of() under rcu_read_lock_sched()
    https://lkml.org/lkml/2014/10/24/160 [PATCH 2/4] sched/deadline: ensure that updates to exclusive cpusets don't break AC
    https://lkml.org/lkml/2014/10/24/162 [PATCH 1/4] sched/deadline: fix bandwidth check/update when migrating tasks between exclusive cpusets
    https://lkml.org/lkml/2014/10/28/421 [tip:sched/core] sched/deadline: Ensure that updates to exclusive cpusets don't break AC
    
    http://www.serverphorums.com/read.php?12,1052041 [PATCH 0/4] Fix various bits of AC and PI for SCHED_DEADLINE
    https://lkml.org/lkml/2014/10/8/46 [PATCH] cpusets: Make cpus_allowed and mems_allowed masks hotplug invariant
    https://lkml.org/lkml/2014/7/2/687 [PATCH 3/4] cgroup: remove sane_behavior support on non-default hierarchies
    http://www.serverphorums.com/read.php?12,1041857 [PATCH] cpusets: Make cpus_allowed and mems_allowed masks hotplug invariant
    
    Juri Lelli (4):
    sched/deadline: fix bandwidth check/update when migrating tasks
    between exclusive cpusets
    sched/deadline: ensure that updates to exclusive cpusets don't break AC
    sched/deadline: don't replenish from a !SCHED_DEADLINE entity
    sched/deadline: fix races between rt_mutex_setprio and dl_task_timer
    
    In the long run might need even more exclusion of (remaining) cgroups parts or complete deselection
  2. bfs: Make grq cacheline aligned.

    cchalpha authored and kernelOfTruth committed Aug 18, 2014
  3. bfs: comment out unused evaluated stack variables.

    cchalpha authored and kernelOfTruth committed Aug 21, 2014
    Comment out evaluated cpu, rq and idle stack variables after context
    switch, as they are not used in the rest of schedule(). Keep them in
    source code so can be uncommented and use again.
  4. bfs: Refactory idle!=prev and next task block in schedule().

    cchalpha authored and kernelOfTruth committed Nov 11, 2014
    Just refactory the code and doesn't change the logic. Reduce a dupicated
    condition sentence and some not operations.
  5. bfs: Full cpumask based and LLC sensitive cpu selection.

    cchalpha authored and kernelOfTruth committed Nov 3, 2014
    Rewrite the cpu selection logic using full cpumask based calculation.
    The benefit of cpumask based calculation is that the cost is not scaled
    with cpu numbers when it is among a certain range(64 cpus for 64bits
    system and 32 cpus for 32bit system). To implement full cpumask
    calculation, non_scaled_cpumask is introduced in grq structure. The
    plug-in code in cpufreq and intel_pstate drivers also be modified to
    avoid multi-trigger when scaling down from max cpu freq.
    
    The cost to transfer tasks among cpu which shares same LLC(Last Level
    Cache) should be consider free. The best_mask_cpu() cpu selection logic
    now follows below orders:
    * Non scaled same cpu as task originally runs on
    * Non scaled SMT of the cup
    * Non scaled cores/threads shares last level cache
    * Scaled same cpu as task originally runs on
    * Scaled same cpu as task originally runs on
    * Scaled SMT of the cup
    * Scaled cores/threads shares last level cache
    * Non scaled cores within the same physical cpu
    * Non scaled cpus/Cores within the local NODE
    * Scaled cores within the same physical cpu
    * Scaled cpus/Cores within the local NODE
    * All cpus avariable
  6. bfs: priodl to speed up try_preempt().

    cchalpha authored and kernelOfTruth committed Nov 2, 2014
    Introduced task priodl, which first 8 bits are the task prio and the
    last 56 bits are the task deadline(higher 56 bits) to speed up
    try_preempt() calculation.
  7. bfs: Refactor needs_other_cpu().

    cchalpha authored and kernelOfTruth committed Oct 15, 2014
  8. bfs: sync with mainline sched_setscheduler() logic.[3.18]

    cchalpha authored and kernelOfTruth committed Nov 11, 2014
    New parameter called sched_attr is introduced during 3.14 in
    sched_setscheduler() and related functions.
    
    Conflicts:
    	kernel/sched/bfs.c
  9. bfs: sync up with resched_curr() in 3.17 mainline.

    cchalpha authored and kernelOfTruth committed Nov 11, 2014
    Complete replace old resched_task() with new resched_curr() as mainline
    does.
  10. circle out deadline-scheduler related fix for not breaking AC

    kernelOfTruth committed Feb 15, 2015
    'sched/deadline: Ensure that updates to exclusive cpusets don't break
    AC'
    
    in kernel/cpuset.c https://lkml.org/lkml/2014/10/28/421
  11. excluding deadline-scheduler specific functions

    kernelOfTruth committed Feb 15, 2015
    - cpuset_cpumask_can_shrink
    
    and
    
    - task_can_attach
  12. 3.18-sched-bfs-460

    ckolivas authored and kernelOfTruth committed Feb 15, 2015
Commits on Feb 9, 2015
  1. Linux 3.19

    torvalds committed Feb 9, 2015
  2. Merge tag 'nios2-fixes-v3.19-final' of git://git.rocketboards.org/lin…

    torvalds committed Feb 9, 2015
    …ux-socfpga-next
    
    Pull nios2 fix from Ley Foon Tan:
     "This fixes incorrect behavior of some user programs"
    
    * tag 'nios2-fixes-v3.19-final' of git://git.rocketboards.org/linux-socfpga-next:
      nios2: fix unhandled signals
  3. Merge git://git.kvack.org/~bcrl/aio-fixes

    torvalds committed Feb 9, 2015
    Pull aio nested sleep annotation from Ben LaHaise,
    
    * git://git.kvack.org/~bcrl/aio-fixes:
      aio: annotate aio_read_event_ring for sleep patterns
  4. Merge tag 'trace-fixes-v3.19-rc7' of git://git.kernel.org/pub/scm/lin…

    torvalds committed Feb 9, 2015
    …ux/kernel/git/rostedt/linux-trace
    
    Pull ftrace fixes from Steven Rostedt:
     "During testing Sedat Dilek hit a "suspicious RCU usage" splat that
      pointed out a real bug.  During suspend and resume the tlb_flush
      tracepoint is called when the CPU is going offline.  As the CPU has
      been noted as offline, RCU is ignoring that CPU, which means that it
      can not use RCU protected locks.  When tracepoints are activated, they
      require RCU locking, and if RCU is ignoring a CPU that runs a
      tracepoint, there is a chance that the tracepoint could cause
      corruption.
    
      The solution was to change the tracepoint into a
      TRACE_EVENT_CONDITION() which allows us to check a condition to
      determine if the tracepoint should be called or not.  If the condition
      is not met, the rcu protected code will not be executed.  By adding
      the condition "cpu_online(smp_processor_id())", this will prevent the
      RCU protected code from being executed if the CPU is marked offline.
    
      After adding this, another bug was discovered.  As RCU checks rcu
      callers, if a rcu call is not done, there is no check (obviously).  We
      found that tracepoints could be added in RCU ignored locations and not
      have lockdep complain until the tracepoint is activated.  This missed
      places where tracepoints were added in places they should not have
      been.  To fix this, code was added in 3.18 that if lockdep is enabled,
      any tracepoint will still call the rcu checks even if the tracepoint
      is not enabled.  The bug here, is that the check does not take the
      CONDITION into account.  As the condition may prevent tracepoints from
      being activated in RCU ignored areas (as the one patch does), we get
      false positives when we enable lockdep and hit a tracepoint that the
      condition prevents it from being called in a RCU ignored location.
    
      The fix for this is to add the CONDITION to the rcu checks, even if
      the tracepoint is not enabled"
    
    * tag 'trace-fixes-v3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      x86/tlb/trace: Do not trace on CPU that is offline
      tracing: Add condition check to RCU lockdep checks
  5. nios2: fix unhandled signals

    cltang authored and Ley Foon Tan committed Feb 9, 2015
    Follow other architectures for user fault handling.
    
    Signed-off-by: Chung-Ling Tang <cltang@codesourcery.com>
    Acked-by: Ley Foon Tan <lftan@altera.com>
Commits on Feb 8, 2015
  1. x86/tlb/trace: Do not trace on CPU that is offline

    rostedt committed Feb 6, 2015
    When taking a CPU down for suspend and resume, a tracepoint may be called
    when the CPU has been designated offline. As tracepoints require RCU for
    protection, they must not be called if the current CPU is offline.
    
    Unfortunately, trace_tlb_flush() is called in this scenario as was noted
    by LOCKDEP:
    
    ...
    
     Disabling non-boot CPUs ...
     intel_pstate CPU 1 exiting
    
     ===============================
     smpboot: CPU 1 didn't die...
     [ INFO: suspicious RCU usage. ]
     3.19.0-rc7-next-20150204.1-iniza-small #1 Not tainted
     -------------------------------
     include/trace/events/tlb.h:35 suspicious rcu_dereference_check() usage!
    
     other info that might help us debug this:
    
     RCU used illegally from offline CPU!
     rcu_scheduler_active = 1, debug_locks = 0
     no locks held by swapper/1/0.
    
     stack backtrace:
     CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.19.0-rc7-next-20150204.1-iniza-small #1
     Hardware name: SAMSUNG ELECTRONICS CO., LTD. 530U3BI/530U4BI/530U4BH/530U3BI/530U4BI/530U4BH, BIOS 13XK 03/28/2013
      0000000000000001 ffff88011a44fe18 ffffffff817e370d 0000000000000011
      ffff88011a448290 ffff88011a44fe48 ffffffff810d6847 ffff8800c66b9600
      0000000000000001 ffff88011a44c000 ffffffff81cb3900 ffff88011a44fe78
     Call Trace:
      [<ffffffff817e370d>] dump_stack+0x4c/0x65
      [<ffffffff810d6847>] lockdep_rcu_suspicious+0xe7/0x120
      [<ffffffff810b71a5>] idle_task_exit+0x205/0x2c0
      [<ffffffff81054c4e>] play_dead_common+0xe/0x50
      [<ffffffff81054ca5>] native_play_dead+0x15/0x140
      [<ffffffff8102963f>] arch_cpu_idle_dead+0xf/0x20
      [<ffffffff810cd89e>] cpu_startup_entry+0x37e/0x580
      [<ffffffff81053e20>] start_secondary+0x140/0x150
     intel_pstate CPU 2 exiting
    
    ...
    
    By converting the tlb_flush tracepoint to a TRACE_EVENT_CONDITION where the
    condition is cpu_online(smp_processor_id()), we can avoid calling RCU protected
    code when the CPU is offline.
    
    Link: http://lkml.kernel.org/r/CA+icZUUGiGDoL5NU8RuxKzFjoLjEKRtUWx=JB8B9a0EQv-eGzQ@mail.gmail.com
    
    Cc: stable@vger.kernel.org # 3.17+
    Fixes: d17d8f9 "x86/mm: Add tracepoints for TLB flushes"
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Dave Hansen <dave@sr71.net>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
  2. tracing: Add condition check to RCU lockdep checks

    rostedt committed Feb 6, 2015
    The trace_tlb_flush() tracepoint can be called when a CPU is going offline.
    When a CPU is offline, RCU is no longer watching that CPU and since the
    tracepoint is protected by RCU, it must not be called. To prevent the
    tlb_flush tracepoint from being called when the CPU is offline, it was
    converted to a TRACE_EVENT_CONDITION where the condition checks if the
    CPU is online before calling the tracepoint.
    
    Unfortunately, this was not enough to stop lockdep from complaining about
    it. Even though the RCU protected code of the tracepoint will never be
    called, the condition is hidden within the tracepoint, and even though the
    condition prevents RCU code from being called, the lockdep checks are
    outside the tracepoint (this is to test tracepoints even when they are not
    enabled).
    
    Even though tracepoints should be checked to be RCU safe when they are not
    enabled, the condition should still be considered when checking RCU.
    
    Link: http://lkml.kernel.org/r/CA+icZUUGiGDoL5NU8RuxKzFjoLjEKRtUWx=JB8B9a0EQv-eGzQ@mail.gmail.com
    
    Fixes: 3a63017 "tracing: generate RCU warnings even when tracepoints are disabled"
    Cc: stable@vger.kernel.org # 3.18+
    Acked-by: Dave Hansen <dave@sr71.net>
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Commits on Feb 7, 2015
  1. Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kern…

    torvalds committed Feb 7, 2015
    …el/git/roland/infiniband
    
    Pull one more infiniband revert from Roland Dreier:
     "One more last-second RDMA change for 3.19: Yann realized that the
      previous revert of new userspace ABI did not go far enough, and we're
      still exposing a change that we don't want.  Revert even closer to
      3.18 interface to make sure we get things right in the long run"
    
    Yann Droneaud pipes up:
     "I hope this could go in v3.19 as, at this stage, we don't want to
      expose any bits of this ABI in a released kernel"
    
    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
      Revert "IB/core: Add support for extended query device caps"
  2. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Feb 7, 2015
    …/git/mason/linux-btrfs
    
    Pull btrfs fix from Chris Mason:
     "Forrest Liu tracked down a missing blk_finish_plug in the btrfs
      logging code.  This isn't a new bug, and it's hard to hit.  But, it's
      safe enough for inclusion now, and in my for-linus branch"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
      Btrfs: add missing blk_finish_plug in btrfs_sync_log()
Commits on Feb 6, 2015
  1. Merge branches 'timers-urgent-for-linus' and 'x86-urgent-for-linus' o…

    torvalds committed Feb 6, 2015
    …f git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
    Pull timer and x86 fix from Ingo Molnar:
     "A CLOCK_TAI early expiry fix and an x86 microcode driver oops fix"
    
    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      hrtimer: Fix incorrect tai offset calculation for non high-res timer systems
    
    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86, microcode: Return error from driver init code when loader is disabled
  2. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    torvalds committed Feb 6, 2015
    …/linux/kernel/git/tip/tip
    
    Pull scheduler fixes from Ingo Molnar:
     "Misc fixes"
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/deadline: Fix deadline parameter modification handling
      sched/wait: Remove might_sleep() from wait_event_cmd()
      sched: Fix crash if cpuset_cpumask_can_shrink() is passed an empty cpumask
      sched/fair: Avoid using uninitialized variable in preferred_group_nid()
  3. Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    torvalds committed Feb 6, 2015
    …linux/kernel/git/tip/tip
    
    Pull core kernel fixes from Ingo Molnar:
     "Two liblockdep fixes and a CPU hotplug race fix"
    
    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      tools/liblockdep: don't include host headers
      tools/liblockdep: ignore generated .so file
      smpboot: Add missing get_online_cpus() in smpboot_register_percpu_thread()
  4. Merge tag 'sound-3.19' of git://git.kernel.org/pub/scm/linux/kernel/g…

    torvalds committed Feb 6, 2015
    …it/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "Hopefully the final pull request for 3.19: this ended up with a
      slightly higher volume than wished, but I put them all as they are
      either stable or 3.19 regression fixes.
    
      Most of commits are from ASoC, and have been stewed for a while in
      linux-next.  The only change in the common code is the regression
      fixes for ASoC AC97 stuff wrt device registrations.  The rest are
      device-specific, mostly small fixes in various ASoC drivers and ak411x
      on ice1724 boards"
    
    * tag 'sound-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ASoC: Intel: fix sst firmware path for cht-bsw-rt5672
      ARM: dts: Fix I2S1, I2S2 compatible for exynos4 SoCs
      ASoC: sgtl5000: add delay before first I2C access
      MAINTAINERS: ASoC: add maintainer for Intel BDW/HSW ASoC driver
      ASoC: atmel_ssc_dai: fix the setting for DSP mode
      ASoC: sgtl5000: Use shift mask when setting codec mode
      ASoC: tlv320aic3x: Fix data delay configuration
      ALSA: ak411x: Fix stall in work callback
      ASoC: Intel: Used lock version to update shim registers
      ASoC: wm8731: init mutex in i2c init path
      ASoC: atmel_ssc_dai: fix start event for I2S mode
      ASoC: rt5640: Add RT5642 ACPI ID for Intel Baytrail
      ASoC: wm97xx: Reset AC'97 device before registering it
      ASoC: Add support for allocating AC'97 device before registering it
  5. Merge branch 'akpm' (patches from Andrew Morton)

    torvalds committed Feb 6, 2015
    Merge misc fixes from Andrew Morton:
     "7 fixes"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
      mm/debug_pagealloc: fix build failure on ppc and some other archs
      nilfs2: fix deadlock of segment constructor over I_SYNC flag
      MAINTAINERS: remove SUPERH website
      memcg, shmem: fix shmem migration to use lrucare
      mm: export "high_memory" symbol on !MMU
      .mailmap: update Konstantin Khlebnikov's email address
      mm: pagewalk: call pte_hole() for VM_PFNMAP during walk_page_range
Older
You can’t perform that action at this time.