Skip to content
  1. Jun 01, 2013
  2. May 31, 2013
  3. May 30, 2013
    • Pekka Riikonen's avatar
      x86: Allow FPU to be used at interrupt time even with eagerfpu · 5187b28f
      Pekka Riikonen authored
      
      
      With the addition of eagerfpu the irq_fpu_usable() now returns false
      negatives especially in the case of ksoftirqd and interrupted idle task,
      two common cases for FPU use for example in networking/crypto.  With
      eagerfpu=off FPU use is possible in those contexts.  This is because of
      the eagerfpu check in interrupted_kernel_fpu_idle():
      
      ...
        * For now, with eagerfpu we will return interrupted kernel FPU
        * state as not-idle. TBD: Ideally we can change the return value
        * to something like __thread_has_fpu(current). But we need to
        * be careful of doing __thread_clear_has_fpu() before saving
        * the FPU etc for supporting nested uses etc. For now, take
        * the simple route!
      ...
       	if (use_eager_fpu())
       		return 0;
      
      As eagerfpu is automatically "on" on those CPUs that also have the
      features like AES-NI this patch changes the eagerfpu check to return 1 in
      case the kernel_fpu_begin() has not been said yet.  Once it has been the
      __thread_has_fpu() will start returning 0.
      
      Notice that with eagerfpu the __thread_has_fpu is always true initially.
      FPU use is thus always possible no matter what task is under us, unless
      the state has already been saved with kernel_fpu_begin().
      
      [ hpa: this is a performance regression, not a correctness regression,
        but since it can be quite serious on CPUs which need encryption at
        interrupt time I am marking this for urgent/stable. ]
      
      Signed-off-by: default avatarPekka Riikonen <priikone@iki.fi>
      Link: http://lkml.kernel.org/r/alpine.GSO.2.00.1305131356320.18@git.silcnet.org
      
      
      Cc: <stable@vger.kernel.org> v3.7+
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      5187b28f
    • Jan Beulich's avatar
      x86, crc32-pclmul: Fix build with older binutils · 2baad612
      Jan Beulich authored
      
      
      binutils prior to 2.18 (e.g. the ones found on SLE10) don't support
      assembling PEXTRD, so a macro based approach like the one for PCLMULQDQ
      in the same file should be used.
      
      This requires making the helper macros capable of recognizing 32-bit
      general purpose register operands.
      
      [ hpa: tagging for stable as it is a low risk build fix ]
      
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Link: http://lkml.kernel.org/r/51A6142A02000078000D99D8@nat28.tlf.novell.com
      
      
      Cc: Alexander Boyko <alexander_boyko@xyratex.com>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Huang Ying <ying.huang@intel.com>
      Cc: <stable@vger.kernel.org> v3.9
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      2baad612
    • David Howells's avatar
      MN10300: Need pci_iomap() and __pci_ioport_map() defining · 1aeeac7a
      David Howells authored
      
      
      Include the generic definitions of pci_iomap() and __pci_ioport_map()
      otherwise we can get errors like:
      
        lib/pci_iomap.c: In function 'pci_iomap':
        lib/pci_iomap.c:37: error: implicit declaration of function '__pci_ioport_map'
        lib/pci_iomap.c:37: warning: return makes pointer from integer without a cast
      
      and:
      
        drivers/pci/quirks.c: In function 'disable_igfx_irq':
        drivers/pci/quirks.c:2893: error: implicit declaration of function 'pci_iomap'
        drivers/pci/quirks.c:2893: warning: initialization makes pointer from integer without a cast
        drivers/pci/quirks.c: In function 'reset_ivb_igd':
        drivers/pci/quirks.c:3133: warning: assignment makes pointer from integer without a cast
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarKen Cox <jkc@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1aeeac7a
    • David Howells's avatar
      MN10300: ASB2305's PCI code needs the definition of XIRQ1 · b8bc9b02
      David Howells authored
      
      
      The code for PCI in the ASB2305 needs the definition of XIRQ1 from proc/irq.h
      otherwise the following error appears:
      
        arch/mn10300/unit-asb2305/pci.c: In function 'unit_pci_init':
        arch/mn10300/unit-asb2305/pci.c:481: error: 'XIRQ1' undeclared (first use in this function)
        arch/mn10300/unit-asb2305/pci.c:481: error: (Each undeclared identifier is reported only once
        arch/mn10300/unit-asb2305/pci.c:481: error: for each function it appears in.)
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarKen Cox <jkc@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b8bc9b02
    • David Howells's avatar
      MN10300: Enable IRQs more in system call exit work path · d17fc238
      David Howells authored
      
      
      Enable IRQs when calling schedule() for TIF_NEED_RESCHED and
      do_notify_resume().  If interrupts are enabled during do_notify_resume(), a
      warning can be seen (see lower down).
      
      Whilst we're at it, resume_userspace can be made local to entry.S as it is not
      called outside of there and it can be merged with the part of work_resched that
      occurs after schedule() is called.
      
        WARNING: at kernel/softirq.c:160 local_bh_enable+0x42/0xa0()
        Call Trace:
          local_bh_enable+0x42/0xa0
          unix_release_sock+0x86/0x23c
          unix_release+0x20/0x28
          sock_release+0x17/0x88
          sock_close+0x20/0x28
          __fput+0xc9/0x1fc
          ____fput+0xb/0x10
          task_work_run+0x64/0x78
          do_notify_resume+0x53d/0x544
          work_notifysig+0xa/0xc
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarKen Cox <jkc@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d17fc238
    • David Howells's avatar
      MN10300: Fix ret_from_kernel_thread · 1e00227d
      David Howells authored
      
      
      ret_from_kernel_thread needs to set A2 to the thread_info pointer before
      jumping to syscall_exit.
      
      Without this, we never correctly start userspace.
      
      This was caused by the rejuggling of the fork/exec paths in commit
      ddf23e87 ("mn10300: switch to saner kernel_execve() semantics")
      
      Reported-by: default avatarKen Cox <jkc@redhat.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarKen Cox <jkc@redhat.com>
      Acked-by: default avatarAl Viro <viro@ZenIV.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1e00227d
  4. May 29, 2013
    • Stefan Bader's avatar
      xen: Clean up apic ipi interface · 1db01b49
      Stefan Bader authored
      
      
      Commit f447d56d introduced the
      implementation of the PV apic ipi interface. But there were some
      odd things (it seems none of which cause really any issue but
      maybe they should be cleaned up anyway):
       - xen_send_IPI_mask_allbutself (and by that xen_send_IPI_allbutself)
         ignore the passed in vector and only use the CALL_FUNCTION_SINGLE
         vector. While xen_send_IPI_all and xen_send_IPI_mask use the vector.
       - physflat_send_IPI_allbutself is declared unnecessarily. It is never
         used.
      
      This patch tries to clean up those things.
      
      Signed-off-by: default avatarStefan Bader <stefan.bader@canonical.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      1db01b49
    • Olof Johansson's avatar
      ARM: exynos: defconfig update · da9d0fbf
      Olof Johansson authored
      
      
      This turns on a number of configs that are useful on the Chromebook, but also
      good to have on in general:
      
      * USB host and MMC drivers(!)
      * I2C GPIO arbitration driver
      * CYAPA trackpad driver
      * simplefb
      * CROS EC and keyboard drivers
      * S5M8767 driver
      * MAX77686 drivers
      * MAX8997 driver
      * DEVTMPFS + mount
      * DM_CRYPT (as module)
      * CRYPTOLOOP
      * HIGHMEM
      * PRINTK timestamps
      
      This also turns off DEBUG_LL, and switches the hardcoded Samsung lowlevel
      uart to uart 3 (which is only used to show the "uncompressing kernel"
      message at boot, it seems).
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      Reviewed-by: default avatarDoug Anderson <dianders@chromium.org>
      Tested-by: default avatarTushar Behera <tushar.behera@linaro.org>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      da9d0fbf
  5. May 28, 2013
  6. May 27, 2013
  7. May 25, 2013
  8. May 24, 2013
Loading