1. 01 2月, 2017 1 次提交
    • T
      perf/x86/intel/rapl: Make package handling more robust · dd86e373
      Thomas Gleixner 提交于
      The package management code in RAPL relies on package mapping being
      available before a CPU is started. This changed with:
      
        9d85eb91 ("x86/smpboot: Make logical package management more robust")
      
      because the ACPI/BIOS information turned out to be unreliable, but that
      left RAPL in broken state. This was not noticed because on a regular boot
      all CPUs are online before RAPL is initialized.
      
      A possible fix would be to reintroduce the mess which allocates a package
      data structure in CPU prepare and when it turns out to already exist in
      starting throw it away later in the CPU online callback. But that's a
      horrible hack and not required at all because RAPL becomes functional for
      perf only in the CPU online callback. That's correct because user space is
      not yet informed about the CPU being onlined, so nothing caan rely on RAPL
      being available on that particular CPU.
      
      Move the allocation to the CPU online callback and simplify the hotplug
      handling. At this point the package mapping is established and correct.
      
      This also adds a missing check for available package data in the
      event_init() function.
      Reported-by: NYasuaki Ishimatsu <yasu.isimatu@gmail.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sebastian Siewior <bigeasy@linutronix.de>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Vince Weaver <vincent.weaver@maine.edu>
      Fixes: 9d85eb91 ("x86/smpboot: Make logical package management more robust")
      Link: http://lkml.kernel.org/r/20170131230141.212593966@linutronix.deSigned-off-by: NIngo Molnar <mingo@kernel.org>
      dd86e373
  2. 29 1月, 2017 1 次提交
    • H
      parisc: Don't use BITS_PER_LONG in userspace-exported swab.h header · 2ad5d52d
      Helge Deller 提交于
      In swab.h the "#if BITS_PER_LONG > 32" breaks compiling userspace programs if
      BITS_PER_LONG is #defined by userspace with the sizeof() compiler builtin.
      
      Solve this problem by using __BITS_PER_LONG instead.  Since we now
      #include asm/bitsperlong.h avoid further potential userspace pollution
      by moving the #define of SHIFT_PER_LONG to bitops.h which is not
      exported to userspace.
      
      This patch unbreaks compiling qemu on hppa/parisc.
      Signed-off-by: NHelge Deller <deller@gmx.de>
      Cc: <stable@vger.kernel.org>
      2ad5d52d
  3. 28 1月, 2017 1 次提交
    • V
      ARC: [arcompact] handle unaligned access delay slot corner case · 9aed02fe
      Vineet Gupta 提交于
      After emulating an unaligned access in delay slot of a branch, we
      pretend as the delay slot never happened - so return back to actual
      branch target (or next PC if branch was not taken).
      
      Curently we did this by handling STATUS32.DE, we also need to clear the
      BTA.T bit, which is disregarded when returning from original misaligned
      exception, but could cause weirdness if it took the interrupt return
      path (in case interrupt was acive too)
      
      One ARC700 customer ran into this when enabling unaligned access fixup
      for kernel mode accesses as well
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      9aed02fe
  4. 27 1月, 2017 1 次提交
    • P
      arm64: skip register_cpufreq_notifier on ACPI-based systems · 606f4226
      Prashanth Prakash 提交于
      On ACPI based systems where the topology is setup using the API
      store_cpu_topology, at the moment we do not have necessary code
      to parse cpu capacity and handle cpufreq notifier, thus
      resulting in a kernel panic.
      
      Stack:
              init_cpu_capacity_callback+0xb4/0x1c8
              notifier_call_chain+0x5c/0xa0
              __blocking_notifier_call_chain+0x58/0xa0
              blocking_notifier_call_chain+0x3c/0x50
              cpufreq_set_policy+0xe4/0x328
              cpufreq_init_policy+0x80/0x100
              cpufreq_online+0x418/0x710
              cpufreq_add_dev+0x118/0x180
              subsys_interface_register+0xa4/0xf8
              cpufreq_register_driver+0x1c0/0x298
              cppc_cpufreq_init+0xdc/0x1000 [cppc_cpufreq]
              do_one_initcall+0x5c/0x168
              do_init_module+0x64/0x1e4
              load_module+0x130c/0x14d0
              SyS_finit_module+0x108/0x120
              el0_svc_naked+0x24/0x28
      
      Fixes: 7202bde8 ("arm64: parse cpu capacity-dmips-mhz from DT")
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NPrashanth Prakash <pprakash@codeaurora.org>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      606f4226
  5. 25 1月, 2017 8 次提交
  6. 24 1月, 2017 2 次提交
  7. 20 1月, 2017 5 次提交
  8. 19 1月, 2017 12 次提交
  9. 18 1月, 2017 9 次提交