1. 24 2月, 2014 5 次提交
  2. 23 2月, 2014 6 次提交
    • G
      Revert "tty: Set correct tty name in 'active' sysfs attribute" · 5c0a2450
      Greg Kroah-Hartman 提交于
      This reverts commit d8a5dc30.
      
      This breaks plymouth installs, either because plymouth is using the file
      "incorrectly" or because the patch is incorrect.  Either way, this needs
      to be reverted until it is all figured out.
      Reported-by: NJosh Boyer <jwboyer@fedoraproject.org>
      Reported-by: NRay Strode <halfline@gmail.com>
      Cc: Lennart Poettering <lennart@poettering.net>
      Cc: Kay Sievers <kay@vrfy.org>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Cc: David Herrmann <dh.herrmann@gmail.com>
      Cc: Werner Fink <werner@suse.de>
      Cc: Hannes Reinecke <hare@suse.de>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5c0a2450
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5580723f
      Linus Torvalds 提交于
      Pull scheduler fixes from Ingo Molnar:
       "Misc fixlets: a fair number of them resulting from the new
        SCHED_DEADLINE code"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/deadline: Remove useless dl_nr_total
        sched/deadline: Test for CPU's presence explicitly
        sched: Add 'flags' argument to sched_{set,get}attr() syscalls
        sched: Fix information leak in sys_sched_getattr()
        sched,numa: add cond_resched to task_numa_work
        sched/core: Make dl_b->lock IRQ safe
        sched/core: Fix sched_rt_global_validate
        sched/deadline: Fix overflow to handle period==0 and deadline!=0
        sched/deadline: Fix bad accounting of nr_running
      5580723f
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9b3e7c9b
      Linus Torvalds 提交于
      Pull perf fixes from Ingo Molnar:
       "Misc fixlets from all around the place"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/uncore: Fix IVT/SNB-EP uncore CBOX NID filter table
        perf/x86: Correctly use FEATURE_PDCM
        perf, nmi: Fix unknown NMI warning
        perf trace: Fix ioctl 'request' beautifier build problems on !(i386 || x86_64) arches
        perf trace: Add fallback definition of EFD_SEMAPHORE
        perf list: Fix checking for supported events on older kernels
        perf tools: Handle PERF_RECORD_HEADER_EVENT_TYPE properly
        perf probe: Do not add offset twice to uprobe address
        perf/x86: Fix Userspace RDPMC switch
        perf/x86/intel/p6: Add userspace RDPMC quirk for PPro
      9b3e7c9b
    • L
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 0f0ca143
      Linus Torvalds 提交于
      Pull hwmon fix from Guenter Roeck:
       "Fix writing the minimum temperature in max1668 driver"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (max1668) Fix writing the minimum temperature
      0f0ca143
    • L
      Merge branch 'xfs-fixes-for-3.14-rc4' of git://oss.sgi.com/xfs/xfs · 645ceee8
      Linus Torvalds 提交于
      Pull xfs fixes from Dave Chinner:
       "This is the first pull request I've had to do for you, so I'm still
        sorting things out.  The reason I'm sending this and not Ben should be
        obvious from the first commit below - SGI has stepped down from the
        XFS maintainership role.  As such, I'd like to take another
        opportunity to thank them for their many years of effort maintaining
        XFS and supporting the XFS community that they developed from the
        ground up.
      
        So I haven't had time to work things like signed tags into my
        workflows yet, so this is just a repo branch I'm asking you to pull
        from.  And yes, I named the branch -rc4 because I wanted the fixes in
        rc4, not because the branch was for merging into -rc3.  Probably not
        right, either.
      
        Anyway, I should have everything sorted out by the time the next merge
        window comes around.  If there's anything that you don't like in the
        pull req, feel free to flame me unmercifully.
      
        The changes are fixes for recent regressions and important thinkos in
        verification code:
      
              - a log vector buffer alignment issue on ia32
              - timestamps on truncate got mangled
              - primary superblock CRC validation fixes and error message
                sanitisation"
      
      * 'xfs-fixes-for-3.14-rc4' of git://oss.sgi.com/xfs/xfs:
        xfs: limit superblock corruption errors to actual corruption
        xfs: skip verification on initial "guess" superblock read
        MAINTAINERS: SGI no longer maintaining XFS
        xfs: xfs_sb_read_verify() doesn't flag bad crcs on primary sb
        xfs: ensure correct log item buffer alignment
        xfs: ensure correct timestamp updates from truncate
      645ceee8
    • I
      Merge tag 'perf-urgent-for-mingo' of... · a9d3f94e
      Ingo Molnar 提交于
      Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
      
        * Handle PERF_RECORD_HEADER_EVENT_TYPE properly. (Jiri Olsa)
      
        * Fix checking for supported events on older kernels in
          'perf list' (Vince Weaver)
      
        * Do not add offset twice to uprobe address in
          'perf probe' (Masami Hiramatsu)
      
        * Fix perf trace's ioctl 'request' beautifier build problems
          on !(i386 || x86_64) arches (Arnaldo Carvalho de Melo)
      
        * Fix 'perf trace' build by adding a fallback definition for
          EFD_SEMAPHORE (Ben Hutchings)
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      a9d3f94e
  3. 22 2月, 2014 23 次提交
    • T
      Merge tag 'irqchip-mvebu-fixes-3.14' of git://git.infradead.org/linux-mvebu into irq/urgent · ec79b577
      Thomas Gleixner 提交于
      irqchip mvebu fixes for v3.14
      
       - orion:
          - fixes for clearing bridge cause register, and clearing stale interrupts
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      ec79b577
    • L
      Merge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux · 10527106
      Linus Torvalds 提交于
      Pull devicetree fixes from Grant Likely:
       "Device tree compatible match order bug fix
      
        This branch contains a bug fix for the way devicetree code identifies
        the type of device.  Device drivers can contain a list of
        of_device_ids, but it more than one entry will match, then the device
        driver may choose the wrong one.  Commit 10535314, "match each node
        compatible against all given matches first", was queued for v3.14 but
        ended up causing other bugs.  Commit 06b29e76 attempted to fix it
        but it had other bugs.  Merely reverting the fix and waiting until
        v3.15 isn't a good option because there is code in v3.14 that depends
        on the revised behaviour to boot.
      
        This branch should finally fixes the problem correctly.  This time
        instead of just hoping that the patch is correct, this branch also
        adds new testcases that validate the behaviour.
      
        The changes in this branch are larger than I would like for a -rc
        pull, but moving the test case data out of out of arch/arm so that it
        could be validated on other architectures was important"
      
      * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux:
        of: Add self test for of_match_node()
        of: Move testcase FDT data into drivers/of
        of: reimplement the matching method for __of_match_node()
        Revert "of: search the best compatible match first in __of_match_node()"
      10527106
    • L
      Merge git://www.linux-watchdog.org/linux-watchdog · 0a4e836a
      Linus Torvalds 提交于
      Pull watchdog fix from Wim Van Sebroeck:
       "It corrects the error code when no device was found for w83697hf_wdt"
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: w83697hf_wdt: return ENODEV if no device was found
      0a4e836a
    • A
      irqchip: orion: Fix getting generic chip pointer. · d86e9af6
      Andrew Lunn 提交于
      Enabling SPARSE_IRQ shows up a bug in the irq-orion bridge interrupt
      handler. The bridge interrupt is implemented using a single generic
      chip. Thus the parameter passed to irq_get_domain_generic_chip()
      should always be zero.
      Signed-off-by: NAndrew Lunn <andrew@lunn.ch>
      Acked-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Fixes: 9dbd90f1 ("irqchip: Add support for Marvell Orion SoCs")
      Cc: <stable@vger.kernel.org> # v3.11+
      Signed-off-by: NJason Cooper <jason@lakedaemon.net>
      d86e9af6
    • S
      perf/x86/uncore: Fix IVT/SNB-EP uncore CBOX NID filter table · 337397f3
      Stephane Eranian 提交于
      This patch updates the CBOX PMU filters mapping tables for SNB-EP
      and IVT (model 45 and 62 respectively).
      
      The NID umask always comes in addition to another umask.
      When set, the NID filter is applied.
      
      The current mapping tables were missing some code/umask
      combinations to account for the NID umask. This patch
      fixes that.
      
      Cc: mingo@elte.hu
      Cc: ak@linux.intel.com
      Reviewed-by: NYan, Zheng <zheng.z.yan@intel.com>
      Signed-off-by: NStephane Eranian <eranian@google.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20140219131018.GA24475@quadSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      337397f3
    • P
      perf/x86: Correctly use FEATURE_PDCM · c9b08884
      Peter Zijlstra 提交于
      The current code simply assumes Intel Arch PerfMon v2+ to have
      the IA32_PERF_CAPABILITIES MSR; the SDM specifies that we should check
      CPUID[1].ECX[15] (aka, FEATURE_PDCM) instead.
      
      This was found by KVM which implements v2+ but didn't provide the
      capabilities MSR. Change the code to DTRT; KVM will also implement the
      MSR and return 0.
      
      Cc: pbonzini@redhat.com
      Reported-by: N"Michael S. Tsirkin" <mst@redhat.com>
      Suggested-by: NEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20140203132903.GI8874@twins.programming.kicks-ass.netSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      c9b08884
    • M
      perf, nmi: Fix unknown NMI warning · a3ef2229
      Markus Metzger 提交于
      When using BTS on Core i7-4*, I get the below kernel warning.
      
      $ perf record -c 1 -e branches:u ls
      Message from syslogd@labpc1501 at Nov 11 15:49:25 ...
       kernel:[  438.317893] Uhhuh. NMI received for unknown reason 31 on CPU 2.
      
      Message from syslogd@labpc1501 at Nov 11 15:49:25 ...
       kernel:[  438.317920] Do you have a strange power saving mode enabled?
      
      Message from syslogd@labpc1501 at Nov 11 15:49:25 ...
       kernel:[  438.317945] Dazed and confused, but trying to continue
      
      Make intel_pmu_handle_irq() take the full exit path when returning early.
      
      Cc: eranian@google.com
      Cc: peterz@infradead.org
      Cc: mingo@kernel.org
      Signed-off-by: NMarkus Metzger <markus.t.metzger@intel.com>
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392425048-5309-1-git-send-email-andi@firstfloor.orgSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      a3ef2229
    • M
      usb: chipidea: need to mask when writting endptflush and endptprime · 5bf5dbed
      Matthieu CASTET 提交于
      ENDPTFLUSH and ENDPTPRIME registers are set by software and clear
      by hardware. There is a bit for each endpoint. When we are setting
      a bit for an endpoint we should make sure we do not touch other
      endpoint bit. There is a race condition if the hardware clear the
      bit between the read and the write in hw_write.
      
      Cc: stable <stable@vger.kernel.org> # 3.11+
      Signed-off-by: NPeter Chen <peter.chen@freescale.com>
      Signed-off-by: NMatthieu CASTET <matthieu.castet@parrot.com>
      Tested-by: NMichael Grzeschik <mgrzeschik@pengutronix.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5bf5dbed
    • A
      staging: binder: Fix death notifications · e194fd8a
      Arve Hjønnevåg 提交于
      The change (008fa749) that moved the
      node release code to a separate function broke death notifications in
      some cases. When it encountered a reference without a death
      notification request, it would skip looking at the remaining
      references, and therefore fail to send death notifications for them.
      
      Cc: Colin Cross <ccross@android.com>
      Cc: Android Kernel Team <kernel-team@android.com>
      Cc: stable <stable@vger.kernel.org> # 3.10
      Signed-off-by: NArve Hjønnevåg <arve@android.com>
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: NJeremy Compostella <jeremy.compostella@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e194fd8a
    • K
      sched/deadline: Remove useless dl_nr_total · 995b9ea4
      Kirill Tkhai 提交于
      In deadline class we do not have group scheduling like in RT.
      
      dl_nr_total is the same as dl_nr_running. So, one of them should
      be removed.
      
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Juri Lelli <juri.lelli@gmail.com>
      Signed-off-by: NKirill Tkhai <tkhai@yandex.ru>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/368631392675853@web20h.yandex.ruSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      995b9ea4
    • B
      sched/deadline: Test for CPU's presence explicitly · 82b95800
      Boris Ostrovsky 提交于
      A hot-removed CPU may have ID that is numerically larger than the number of
      existing CPUs in the system (e.g. we can unplug CPU 4 from a system that
      has CPUs 0, 1 and 4).
      
      Thus the WARN_ONs should check whether the CPU in question is currently
      present, not whether its ID value is less than num_present_cpus().
      
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Juri Lelli <juri.lelli@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Reported-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: NBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392646353-1874-1-git-send-email-boris.ostrovsky@oracle.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      82b95800
    • P
      sched: Add 'flags' argument to sched_{set,get}attr() syscalls · 6d35ab48
      Peter Zijlstra 提交于
      Because of a recent syscall design debate; its deemed appropriate for
      each syscall to have a flags argument for future extension; without
      immediately requiring new syscalls.
      
      Cc: juri.lelli@gmail.com
      Cc: Ingo Molnar <mingo@redhat.com>
      Suggested-by: NMichael Kerrisk <mtk.manpages@gmail.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20140214161929.GL27965@twins.programming.kicks-ass.netSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      6d35ab48
    • V
      sched: Fix information leak in sys_sched_getattr() · 4efbc454
      Vegard Nossum 提交于
      We're copying the on-stack structure to userspace, but forgot to give
      the right number of bytes to copy. This allows the calling process to
      obtain up to PAGE_SIZE bytes from the stack (and possibly adjacent
      kernel memory).
      
      This fix copies only as much as we actually have on the stack
      (attr->size defaults to the size of the struct) and leaves the rest of
      the userspace-provided buffer untouched.
      
      Found using kmemcheck + trinity.
      
      Fixes: d50dde5a ("sched: Add new scheduler syscalls to support an extended scheduling parameters ABI")
      Cc: Dario Faggioli <raistlin@linux.it>
      Cc: Juri Lelli <juri.lelli@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Signed-off-by: NVegard Nossum <vegard.nossum@oracle.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392585857-10725-1-git-send-email-vegard.nossum@oracle.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      4efbc454
    • R
      sched,numa: add cond_resched to task_numa_work · 3cf1962c
      Rik van Riel 提交于
      Normally task_numa_work scans over a fairly small amount of memory,
      but it is possible to run into a large unpopulated part of virtual
      memory, with no pages mapped. In that case, task_numa_work can run
      for a while, and it may make sense to reschedule as required.
      
      Cc: akpm@linux-foundation.org
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Signed-off-by: NRik van Riel <riel@redhat.com>
      Reported-by: NXing Gang <gang.xing@hp.com>
      Tested-by: NChegu Vinod <chegu_vinod@hp.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392761566-24834-2-git-send-email-riel@redhat.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      3cf1962c
    • J
      sched/core: Make dl_b->lock IRQ safe · 49516342
      Juri Lelli 提交于
      Fix this lockdep warning:
      
      [   44.804600] =========================================================
      [   44.805746] [ INFO: possible irq lock inversion dependency detected ]
      [   44.805746] 3.14.0-rc2-test+ #14 Not tainted
      [   44.805746] ---------------------------------------------------------
      [   44.805746] bash/3674 just changed the state of lock:
      [   44.805746]  (&dl_b->lock){+.....}, at: [<ffffffff8106ad15>] sched_rt_handler+0x132/0x248
      [   44.805746] but this lock was taken by another, HARDIRQ-safe lock in the past:
      [   44.805746]  (&rq->lock){-.-.-.}
      
      and interrupts could create inverse lock ordering between them.
      
      [   44.805746]
      [   44.805746] other info that might help us debug this:
      [   44.805746]  Possible interrupt unsafe locking scenario:
      [   44.805746]
      [   44.805746]        CPU0                    CPU1
      [   44.805746]        ----                    ----
      [   44.805746]   lock(&dl_b->lock);
      [   44.805746]                                local_irq_disable();
      [   44.805746]                                lock(&rq->lock);
      [   44.805746]                                lock(&dl_b->lock);
      [   44.805746]   <Interrupt>
      [   44.805746]     lock(&rq->lock);
      
      by making dl_b->lock acquiring always IRQ safe.
      
      Cc: Ingo Molnar <mingo@redhat.com>
      Signed-off-by: NJuri Lelli <juri.lelli@gmail.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392107067-19907-3-git-send-email-juri.lelli@gmail.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      49516342
    • J
      sched/core: Fix sched_rt_global_validate · e9e7cb38
      Juri Lelli 提交于
      Don't compare sysctl_sched_rt_runtime against sysctl_sched_rt_period if
      the former is equal to RUNTIME_INF, otherwise disabling -rt bandwidth
      management (with CONFIG_RT_GROUP_SCHED=n) fails.
      
      Cc: Ingo Molnar <mingo@redhat.com>
      Signed-off-by: NJuri Lelli <juri.lelli@gmail.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392107067-19907-2-git-send-email-juri.lelli@gmail.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      e9e7cb38
    • S
      sched/deadline: Fix overflow to handle period==0 and deadline!=0 · 4df1638c
      Steven Rostedt 提交于
      While debugging the crash with the bad nr_running accounting, I hit
      another bug where, after running my sched deadline test, I was getting
      failures to take a CPU offline. It was giving me a -EBUSY error.
      
      Adding a bunch of trace_printk()s around, I found that the cpu
      notifier that called sched_cpu_inactive() was returning a failure. The
      overflow value was coming up negative?
      
      Talking this over with Juri, the problem is that the total_bw update was
      suppose to be made by dl_overflow() which, during my tests, seemed to
      not be called. Adding more trace_printk()s, it wasn't that it wasn't
      called, but it exited out right away with the check of new_bw being
      equal to p->dl.dl_bw. The new_bw calculates the ratio between period and
      runtime. The bug is that if you set a deadline, you do not need to set
      a period if you plan on the period being equal to the deadline. That
      is, if period is zero and deadline is not, then the system call should
      set the period to be equal to the deadline. This is done elsewhere in
      the code.
      
      The fix is easy, check if period is set, and if it is not, then use the
      deadline.
      
      Cc: Juri Lelli <juri.lelli@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20140219135335.7e74abd4@gandalf.local.homeSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      4df1638c
    • J
      sched/deadline: Fix bad accounting of nr_running · 3d5f35bd
      Juri Lelli 提交于
      Rostedt writes:
      
      My test suite was locking up hard when enabling mmiotracer. This was due
      to the mmiotracer placing all but one CPU offline. I found this out
      when I was able to reproduce the bug with just my stress-cpu-hotplug
      test. This bug baffled me because it would not always trigger, and
      would only trigger on the first run after boot up. The
      stress-cpu-hotplug test would crash hard the first run, or never crash
      at all. But a new reboot may cause it to crash on the first run again.
      
      I spent all week bisecting this, as I couldn't find a consistent
      reproducer. I finally narrowed it down to the sched deadline patches,
      and even more peculiar, to the commit that added the sched
      deadline boot up self test to the latency tracer. Then it dawned on me
      to what the bug was.
      
      All it took was to run a task under sched deadline to screw up the CPU
      hot plugging. This explained why it would lock up only on the first run
      of the stress-cpu-hotplug test. The bug happened when the boot up self
      test of the schedule latency tracer would test a deadline task. The
      deadline task would corrupt something that would cause CPU hotplug to
      fail. If it didn't corrupt it, the stress test would always work
      (there's no other sched deadline tasks that would run to cause
      problems). If it did corrupt on boot up, the first test would lockup
      hard.
      
      I proved this theory by running my deadline test program on another box,
      and then run the stress-cpu-hotplug test, and it would now consistently
      lock up. I could run stress-cpu-hotplug over and over with no problem,
      but once I ran the deadline test, the next run of the
      stress-cpu-hotplug would lock hard.
      
      After adding lots of tracing to the code, I found the cause. The
      function tracer showed that migrate_tasks() was stuck in an infinite
      loop, where rq->nr_running never equaled 1 to break out of it. When I
      added a trace_printk() to see what that number was, it was 335 and
      never decrementing!
      
      Looking at the deadline code I found:
      
      static void __dequeue_task_dl(struct rq *rq, struct task_struct *p, int flags) {
      	dequeue_dl_entity(&p->dl);
      	dequeue_pushable_dl_task(rq, p);
      }
      
      static void dequeue_task_dl(struct rq *rq, struct task_struct *p, int flags) {
      	update_curr_dl(rq);
      	__dequeue_task_dl(rq, p, flags);
      
      	dec_nr_running(rq);
      }
      
      And this:
      
      	if (dl_runtime_exceeded(rq, dl_se)) {
      		__dequeue_task_dl(rq, curr, 0);
      		if (likely(start_dl_timer(dl_se, curr->dl.dl_boosted)))
      			dl_se->dl_throttled = 1;
      		else
      			enqueue_task_dl(rq, curr, ENQUEUE_REPLENISH);
      
      		if (!is_leftmost(curr, &rq->dl))
      			resched_task(curr);
      	}
      
      Notice how we call __dequeue_task_dl() and in the else case we
      call enqueue_task_dl()? Also notice that dequeue_task_dl() has
      underscores where enqueue_task_dl() does not. The enqueue_task_dl()
      calls inc_nr_running(rq), but __dequeue_task_dl() does not. This is
      where we get nr_running out of sync.
      
      [snip]
      
      Another point where nr_running can get out of sync is when the dl_timer
      fires:
      
      	dl_se->dl_throttled = 0;
      	if (p->on_rq) {
      		enqueue_task_dl(rq, p, ENQUEUE_REPLENISH);
      		if (task_has_dl_policy(rq->curr))
      			check_preempt_curr_dl(rq, p, 0);
      		else
      			resched_task(rq->curr);
      
      This patch does two things:
      
       - correctly accounts for throttled tasks (that are now considered
         !running);
      
       - fixes the bug, updating nr_running from {inc,dec}_dl_tasks(),
         since we risk to update it twice in some situations (e.g., a
         task is dequeued while it has exceeded its budget).
      
      Cc: mingo@redhat.com
      Cc: torvalds@linux-foundation.org
      Cc: akpm@linux-foundation.org
      Reported-by: NSteven Rostedt <rostedt@goodmis.org>
      Reviewed-by: NSteven Rostedt <rostedt@goodmis.org>
      Tested-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NJuri Lelli <juri.lelli@gmail.com>
      Signed-off-by: NPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1392884379-13744-1-git-send-email-juri.lelli@gmail.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      3d5f35bd
    • S
      watchdog: w83697hf_wdt: return ENODEV if no device was found · 0cb1c3e8
      Stanislav Kholmanskikh 提交于
      Most WDT driver modules return ENODEV during modprobe if
      no valid device was found, but w83697hf_wdt returns EIO.
      
      Let w83697hf_wdt return ENODEV.
      Signed-off-by: NStanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      0cb1c3e8
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 34acae3c
      Linus Torvalds 提交于
      Pull sparc fixes from David Miller:
       "Three minor fixes from David Howells and Paul Gortmaker"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        Sparc: sparc_cpu_model isn't in asm/system.h any more [ver #2]
        sparc32: make copy_to/from_user_page() usable from modular code
        sparc32: fix build failure for arch_jump_label_transform
      34acae3c
    • L
      Merge tag 'pm+acpi-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 795233bf
      Linus Torvalds 提交于
      Pull ACPI and power management fixes from Rafael Wysocki:
       "These include two fixes for recent regressions related to ACPI, a
        cpufreq fix for breakage overlooked by a previous fix commit, two
        intel_pstate fixes for stuff added during the 3.13 cycle that need to
        go into -stable, three fixes for older bugs that also are -stable
        candidates, ACPI video blacklist changes related to BIOSes that behave
        in a special way on Windows 8, several build fixes for CONFIG_PM_SLEEP
        unset in ACPI drivers and an ACPI driver cleanup.
      
        Specifics:
      
         - Fix for a recent probing regression in the nouveau driver
           introduced by an ACPI change related to the handling of _DSM from
           Jiang Liu.
      
         - Fix for a dock station sysfs attribute that stopped working
           correctly after recent changes in the ACPI core.
      
         - cpufreq fix taking care of broken code related to CPU removal and
           overlooked by a previous recent fix in that area.  From Viresh
           Kumar.
      
         - Two intel_pstate fixes related to Baytrail support added during the
           3.13 cycle (candidates for -stable) from Dirk Brandewie.
      
         - ACPI video fix removing duplicate brightness values from the _BCL
           table which makes its user space interface behave sanely.  From
           Hans de Goede.
      
         - Fix for the powernow-k8 cpufreq driver making it initialize its
           per-CPU data structures correctly from Srivatsa S Bhat.
      
         - Fix for an obscure memory leak in the ACPI PCI interrupt allocation
           code (related to ISA) from Tomasz Nowicki.
      
         - ACPI video blacklist changes moving several systems that should use
           the native backlight interface instead of the ACPI one from the
           general ACPI _OSI blacklist the the ACPI video driver's blacklist
           where they belong.  This consists of an ACPI video driver update
           from Aaron Lu and a revert of a previous commit adding systems to
           the ACPI _OSI blacklist requested by Takashi Iwai.
      
         - Several fixes for build issues in ACPI drivers occuring when
           CONFIG_PM_SLEEP is unset from Shuah Khan.
      
         - Fix for an sscanf() format string in the ACPI Smart Battery
           Subsystem (SBS) driver from Luis G.F"
      
      * tag 'pm+acpi-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        intel_pstate: Add support for Baytrail turbo P states
        intel_pstate: Use LFM bus ratio as min ratio/P state
        ACPI / nouveau: fix probing regression related to _DSM
        Revert "ACPI: Blacklist Win8 OSI for some HP laptop 2013 models"
        ACPI / video: Add systems that should favour native backlight interface
        ACPI / video: Filter the _BCL table for duplicate brightness values
        cpufreq: powernow-k8: Initialize per-cpu data-structures properly
        cpufreq: remove sysfs link when a cpu != policy->cpu, is removed
        ACPI / PCI: Fix memory leak in acpi_pci_irq_enable()
        ACPI / dock: Make 'docked' sysfs attribute work as documented
        ACPI / SBS: Fix incorrect sscanf() string
        ACPI / thermal: fix thermal driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / SBS: fix SBS driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / fan: fix fan driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / button: fix button driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / battery: fix battery driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / AC: fix AC driver compile error when CONFIG_PM_SLEEP is undefined
      795233bf
    • L
      Merge tag 'iommu-fixes-v3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 7777d934
      Linus Torvalds 提交于
      Pull IOMMU fixes from Joerg Roedel:
       "The fixes are only for the ARM-SMMU driver.  Here is the summary from
        Will Deacon:
      
         - Andreas Herrmann took the driver for a run with a real SATA
           controller, which caused the new mutex-based locking to explode
           since we require mappings in atomic context
      
         - Yifan fixed an issue with the page table creation, which then
           caused breakages with the way in which we flush descriptors out to
           the table walker
      
         - I ran the driver on a system where the SMMU is hooked into a
           coherent interconnect for table walks, and noticed a shareability
           mismatch between the CPU and the SMMU
      
        These issues are all fixed here and have been tested on both arm and
        arm64 based systems.
      
        Besides that I put a fix on-top to make the spinlock irq-safe, so that
        the code-paths can be used in the DMA-API"
      
      * tag 'iommu-fixes-v3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        arm/smmu: Use irqsafe spinlock for domain lock
        iommu/arm-smmu: fix compilation issue when !CONFIG_ARM_AMBA
        iommu/arm-smmu: set CBARn.BPSHCFG to NSH for s1-s2-bypass contexts
        iommu/arm-smmu: fix table flushing during initial allocations
        iommu/arm-smmu: really fix page table locking
        iommu/arm-smmu: fix pud/pmd entry fill sequence
      7777d934
    • L
      Merge tag 'sound-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 04133209
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "This time we got a slightly higher volume than previous times, but all
        device-specific good fixes.  Noticeable changes are fixes in davinci,
        and the removal of open-codes in HD-audio ca0132 driver.  The rest are
        all small fixes and/or quirks"
      
      * tag 'sound-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Enable front audio jacks on one HP desktop model
        ALSA: hda/ca0132 - Fix recording from mode id 0x8
        ALSA: hda/ca0132 - setup/cleanup streams
        ALSA: hda - add headset mic detect quirks for two Dell laptops
        ALSA: usb-audio: work around KEF X300A firmware bug
        ASoC: max98090: make REVISION_ID readable
        ASoC: txx9aclc_ac97: Fix kernel crash on probe
        ASoC: max98090: sync regcache on entering STANDBY
        ASoC: blackfin: Fix machine driver Kconfig dependencies
        ASoC: da9055: Fix device registration of PMIC and CODEC devices
        ASoC: fsl-esai: fix ESAI TDM slot setting
        ASoC: fsl: fix pm support of machine drivers
        ASoC: rt5640: Add ACPI ID for Intel Baytrail
        ASoC: davinci-evm: Add pm callbacks to platform driver
        ASoC: davinci-mcasp: Consolidate pm_runtime_get/put() use in the driver
        ASoC: davinci-mcasp: Configure xxTDM, xxFMT and xxFMCT registers synchronously
        ASoC: davinci-mcasp: Harmonize the sub hw_params function names
        ASoC: samsung: Fix trivial typo
        ASoC: samsung: Remove invalid dependencies
        ASoC: wm8993: drop regulator_bulk_free of devm_ allocated data
      04133209
  4. 21 2月, 2014 6 次提交