Skip to content
Snippets Groups Projects
  1. Jan 07, 2016
  2. Dec 19, 2015
    • Hidehiro Kawai's avatar
      x86/apic: Introduce apic_extnmi command line parameter · b7c4948e
      Hidehiro Kawai authored
      
      This patch introduces a command line parameter apic_extnmi:
      
       apic_extnmi=( bsp|all|none )
      
      The default value is "bsp" and this is the current behavior: only the
      Boot-Strapping Processor receives an external NMI.
      
      "all" allows external NMIs to be broadcast to all CPUs. This would
      raise the success rate of panic on NMI when BSP hangs in NMI context
      or the external NMI is swallowed by other NMI handlers on the BSP.
      
      If you specify "none", no CPUs receive external NMIs. This is useful for
      the dump capture kernel so that it cannot be shot down by accidentally
      pressing the external NMI button (on platforms which have it) while
      saving a crash dump.
      
      Signed-off-by: default avatarHidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Bandan Das <bsd@redhat.com>
      Cc: Baoquan He <bhe@redhat.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: kexec@lists.infradead.org
      Cc: linux-doc@vger.kernel.org
      Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Viresh Kumar <viresh.kumar@linaro.org>
      Cc: Vivek Goyal <vgoyal@redhat.com>
      Cc: x86-ml <x86@kernel.org>
      Link: http://lkml.kernel.org/r/20151210014632.25437.43778.stgit@softrs
      
      
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      b7c4948e
  3. Dec 14, 2015
  4. Dec 08, 2015
    • Tejun Heo's avatar
      workqueue: implement lockup detector · 82607adc
      Tejun Heo authored
      
      Workqueue stalls can happen from a variety of usage bugs such as
      missing WQ_MEM_RECLAIM flag or concurrency managed work item
      indefinitely staying RUNNING.  These stalls can be extremely difficult
      to hunt down because the usual warning mechanisms can't detect
      workqueue stalls and the internal state is pretty opaque.
      
      To alleviate the situation, this patch implements workqueue lockup
      detector.  It periodically monitors all worker_pools periodically and,
      if any pool failed to make forward progress longer than the threshold
      duration, triggers warning and dumps workqueue state as follows.
      
       BUG: workqueue lockup - pool cpus=0 node=0 flags=0x0 nice=0 stuck for 31s!
       Showing busy workqueues and worker pools:
       workqueue events: flags=0x0
         pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=17/256
           pending: monkey_wrench_fn, e1000_watchdog, cache_reap, vmstat_shepherd, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, cgroup_release_agent
       workqueue events_power_efficient: flags=0x80
         pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=2/256
           pending: check_lifetime, neigh_periodic_work
       workqueue cgroup_pidlist_destroy: flags=0x0
         pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/1
           pending: cgroup_pidlist_destroy_work_fn
       ...
      
      The detection mechanism is controller through kernel parameter
      workqueue.watchdog_thresh and can be updated at runtime through the
      sysfs module parameter file.
      
      v2: Decoupled from softlockup control knobs.
      
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarDon Zickus <dzickus@redhat.com>
      Cc: Ulrich Obergfell <uobergfe@redhat.com>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Chris Mason <clm@fb.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      82607adc
    • Paul E. McKenney's avatar
      rcu: Remove TINY_RCU bloat from pointless boot parameters · 79cfea02
      Paul E. McKenney authored
      
      The rcu_expedited, rcu_normal, and rcu_normal_after_boot kernel boot
      parameters are pointless in the case of TINY_RCU because in that case
      synchronous grace periods, both expedited and normal, are no-ops.
      However, these three symbols contribute several hundred bytes of bloat.
      This commit therefore uses CPP directives to avoid compiling this code
      in TINY_RCU kernels.
      
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
      79cfea02
  5. Dec 04, 2015
  6. Dec 01, 2015
    • Alan Stern's avatar
      USB: limit usbfs snooping of URB contents · 0290cc9f
      Alan Stern authored
      
      The usbfs_snoop facility can be very useful for debugging problems
      involving usbfs.  However, it always prints out the entire contents of
      every URB.  When dealing with large quantities of data, this can be
      less than helpful.
      
      This patch ameliorates the situation by adding a module parameter to
      usbcore for controlling the maximum number of bytes to print when
      snooping an URB.  This makes debugging much easier.  For backward
      compatibility, the default value is set unreasonably high.
      
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0290cc9f
  7. Nov 18, 2015
  8. Nov 06, 2015
  9. Oct 26, 2015
  10. Oct 18, 2015
  11. Oct 14, 2015
  12. Oct 12, 2015
    • Taku Izumi's avatar
      efi: Add "efi_fake_mem" boot option · 0f96a99d
      Taku Izumi authored
      
      This patch introduces new boot option named "efi_fake_mem".
      By specifying this parameter, you can add arbitrary attribute
      to specific memory range.
      This is useful for debugging of Address Range Mirroring feature.
      
      For example, if "efi_fake_mem=2G@4G:0x10000,2G@0x10a0000000:0x10000"
      is specified, the original (firmware provided) EFI memmap will be
      updated so that the specified memory regions have
      EFI_MEMORY_MORE_RELIABLE attribute (0x10000):
      
       <original>
         efi: mem36: [Conventional Memory|  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000100000000-0x00000020a0000000) (129536MB)
      
       <updated>
         efi: mem36: [Conventional Memory|  |MR|  |  |  |   |WB|WT|WC|UC] range=[0x0000000100000000-0x0000000180000000) (2048MB)
         efi: mem37: [Conventional Memory|  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000180000000-0x00000010a0000000) (61952MB)
         efi: mem38: [Conventional Memory|  |MR|  |  |  |   |WB|WT|WC|UC] range=[0x00000010a0000000-0x0000001120000000) (2048MB)
         efi: mem39: [Conventional Memory|  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000001120000000-0x00000020a0000000) (63488MB)
      
      And you will find that the following message is output:
      
         efi: Memory: 4096M/131455M mirrored memory
      
      Signed-off-by: default avatarTaku Izumi <izumi.taku@jp.fujitsu.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Xishi Qiu <qiuxishi@huawei.com>
      Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
      0f96a99d
  13. Oct 11, 2015
  14. Oct 06, 2015
  15. Oct 01, 2015
  16. Sep 24, 2015
  17. Sep 08, 2015
  18. Aug 28, 2015
  19. Aug 25, 2015
  20. Aug 20, 2015
    • Juergen Gross's avatar
      xen: allow more than 512 GB of RAM for 64 bit pv-domains · c70727a5
      Juergen Gross authored
      
      64 bit pv-domains under Xen are limited to 512 GB of RAM today. The
      main reason has been the 3 level p2m tree, which was replaced by the
      virtual mapped linear p2m list. Parallel to the p2m list which is
      being used by the kernel itself there is a 3 level mfn tree for usage
      by the Xen tools and eventually for crash dump analysis. For this tree
      the linear p2m list can serve as a replacement, too. As the kernel
      can't know whether the tools are capable of dealing with the p2m list
      instead of the mfn tree, the limit of 512 GB can't be dropped in all
      cases.
      
      This patch replaces the hard limit by a kernel parameter which tells
      the kernel to obey the 512 GB limit or not. The default is selected by
      a configuration parameter which specifies whether the 512 GB limit
      should be active per default for domUs (domain save/restore/migration
      and crash dump analysis are affected).
      
      Memory above the domain limit is returned to the hypervisor instead of
      being identity mapped, which was wrong anyway.
      
      The kernel configuration parameter to specify the maximum size of a
      domain can be deleted, as it is not relevant any more.
      
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Acked-by: default avatarKonrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      c70727a5
  21. Jul 16, 2015
  22. Jul 15, 2015
  23. Jul 02, 2015
    • Rafael J. Wysocki's avatar
      ACPI / init: Make it possible to override _REV · 18d78b64
      Rafael J. Wysocki authored
      
      The platform firmware on some systems expects Linux to return "5" as
      the supported ACPI revision which makes it expose system configuration
      information in a special way.
      
      For example, based on what ACPI exports as the supported revision,
      Dell XPS 13 (2015) configures its audio device to either work in HDA
      mode or in I2S mode, where the former is supposed to be used on Linux
      until the latter is fully supported (in the kernel as well as in user
      space).
      
      Since ACPI 6 mandates that _REV should return "2" if ACPI 2 or later
      is supported by the OS, a subsequent change will make that happen, so
      make it possible to override that on systems where "5" is expected to
      be returned for Linux to work correctly one them (such as the Dell
      machine mentioned above).
      
      Original-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      18d78b64
  24. Jun 22, 2015
  25. Jun 16, 2015
    • Mimi Zohar's avatar
      ima: update builtin policies · 24fd03c8
      Mimi Zohar authored
      
      This patch defines a builtin measurement policy "tcb", similar to the
      existing "ima_tcb", but with additional rules to also measure files
      based on the effective uid and to measure files opened with the "read"
      mode bit set (eg. read, read-write).
      
      Changing the builtin "ima_tcb" policy could potentially break existing
      users.  Instead of defining a new separate boot command line option each
      time the builtin measurement policy is modified, this patch defines a
      single generic boot command line option "ima_policy=" to specify the
      builtin policy and deprecates the use of the builtin ima_tcb policy.
      
      [The "ima_policy=" boot command line option is based on Roberto Sassu's
      "ima: added new policy type exec" patch.]
      
      Signed-off-by: default avatarMimi Zohar <zohar@linux.vnet.ibm.com>
      Signed-off-by: default avatarDr. Greg Wettstein <gw@idfusion.org>
      Cc: stable@vger.kernel.org
      24fd03c8
  26. Jun 12, 2015
    • David Woodhouse's avatar
      iommu/vt-d: Only enable extended context tables if PASID is supported · c83b2f20
      David Woodhouse authored
      
      Although the extended tables are theoretically a completely orthogonal
      feature to PASID and anything else that *uses* the newly-available bits,
      some of the early hardware has problems even when all we do is enable
      them and use only the same bits that were in the old context tables.
      
      For now, there's no motivation to support extended tables unless we're
      going to use PASID support to do SVM. So just don't use them unless
      PASID support is advertised too. Also add a command-line bailout just in
      case later chips also have issues.
      
      The equivalent problem for PASID support has already been fixed with the
      upcoming VT-d spec update and commit bd00c606 ("iommu/vt-d: Change
      PASID support to bit 40 of Extended Capability Register"), because the
      problematic platforms use the old definition of the PASID-capable bit,
      which is now marked as reserved and meaningless.
      
      So with this change, we'll magically start using ECS again only when we
      see the new hardware advertising "hey, we have PASID support and we
      actually tested it this time" on bit 40.
      
      The VT-d hardware architect has promised that we are not going to have
      any reason to support ECS *without* PASID any time soon, and he'll make
      sure he checks with us before changing that.
      
      In the future, if hypothetical new features also use new bits in the
      context tables and can be seen on implementations *without* PASID support,
      we might need to add their feature bits to the ecs_enabled() macro.
      
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      c83b2f20
  27. Jun 09, 2015
  28. May 31, 2015
  29. May 27, 2015
    • Paul E. McKenney's avatar
      rcutorture: Allow negative values of nreaders to oversubscribe · 3838cc18
      Paul E. McKenney authored
      
      By default, with rcutorture.nreaders equal to -1, rcutorture provisions
      N-1 reader kthreads, where N is the number of CPUs.  This avoids
      rcutorture-induced stalls, but also avoids heavier levels of torture.
      This commit therefore allows negative values of rcutorture.nreaders
      to specify larger numbers of reader kthreads, so that for example
      rcutorture.nreaders=-2 provisions N kthreads and rcutorture.nreaders=-5
      provisions N+3 kthreads.
      
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      [ paulmck: Update documentation, as suggested by Josh Triplett. ]
      3838cc18
    • Paul E. McKenney's avatar
      rcu: Enable diagnostic dump of rcu_node combining tree · a3dc2948
      Paul E. McKenney authored
      
      The purpose of this commit is to make it easier to verify that RCU's
      combining tree is set up correctly, which is useful to have when making
      changes in how that tree is initialized.
      
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Reviewed-by: default avatarPranith Kumar <bobby.prani@gmail.com>
      [ paulmck: Fold fix found by Fengguang's 0-day test robot. ]
      a3dc2948
    • Paul E. McKenney's avatar
      rcu: Convert CONFIG_RCU_FANOUT_EXACT to boot parameter · 7fa27001
      Paul E. McKenney authored
      
      The CONFIG_RCU_FANOUT_EXACT Kconfig parameter is used primarily (and
      perhaps only) by rcutorture to verify that RCU works correctly in specific
      rcu_node combining-tree configurations.  It therefore does not make
      much sense have this as a question to people attempting to configure
      their kernels.  So this commit creates an rcutree.rcu_fanout_exact=
      boot parameter that rcutorture can use, and eliminates the original
      CONFIG_RCU_FANOUT_EXACT Kconfig parameter.
      
      Reported-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Reviewed-by: default avatarPranith Kumar <bobby.prani@gmail.com>
      7fa27001
    • Paul E. McKenney's avatar
      rcu: Provide diagnostic option to slow down grace-period scans · 0f41c0dd
      Paul E. McKenney authored
      
      Grace-period scans of the rcu_node combining tree normally
      proceed quite quickly, so that it is very difficult to reproduce
      races against them.  This commit therefore allows grace-period
      pre-initialization and cleanup to be artificially slowed down,
      increasing race-reproduction probability.  A pair of pairs of new
      Kconfig parameters are provided, RCU_TORTURE_TEST_SLOW_PREINIT to
      enable the slowing down of propagating CPU-hotplug changes up the
      combining tree along with RCU_TORTURE_TEST_SLOW_PREINIT_DELAY to
      specify the delay in jiffies, and RCU_TORTURE_TEST_SLOW_CLEANUP
      to enable the slowing down of the end-of-grace-period cleanup scan
      along with RCU_TORTURE_TEST_SLOW_CLEANUP_DELAY to specify the delay
      in jiffies.  Boot-time parameters named rcutree.gp_preinit_delay and
      rcutree.gp_cleanup_delay allow these delays to be specified at boot time.
      
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      0f41c0dd
  30. May 20, 2015
  31. May 15, 2015
  32. May 14, 2015
  33. May 13, 2015
Loading