1. 23 6月, 2014 3 次提交
    • V
      timer: Kick dynticks targets on mod_timer*() calls · 9f6d9baa
      Viresh Kumar 提交于
      When a timer is enqueued or modified on a dynticks target, that CPU
      must re-evaluate the next tick to service that timer.
      
      The tick re-evaluation is performed by an IPI kick on the target.
      Now while we correctly call wake_up_nohz_cpu() from add_timer_on(), the
      mod_timer*() API family doesn't support so well dynticks targets.
      
      The reason for this is likely that __mod_timer() isn't supposed to
      select an idle target for a timer, unless that target is the current
      CPU, in which case a dynticks idle kick isn't actually needed.
      
      But there is a small race window lurking behind that assumption: the
      elected target has all the time to turn dynticks idle between the call
      to get_nohz_timer_target() and the locking of its base. Hence a risk
      that we enqueue a timer on a dynticks idle destination without kicking
      it. As a result, the timer might be serviced too late in the future.
      
      Also a target elected by __mod_timer() can be in full dynticks mode
      and thus require to be kicked as well. And unlike idle dynticks, this
      concern both local and remote targets.
      
      To fix this whole issue, lets centralize the dynticks kick to
      internal_add_timer() so that it is well handled for all sort of timer
      enqueue. Even timer migration is concerned so that a full dynticks target
      is correctly kicked as needed when timers are migrating to it.
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Link: http://lkml.kernel.org/r/1403393357-2070-3-git-send-email-fweisbec@gmail.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      9f6d9baa
    • V
      timer: Store cpu-number in struct tvec_base · d6f93829
      Viresh Kumar 提交于
      Timers are serviced by the tick. But when a timer is enqueued on a
      dynticks target, we need to kick it in order to make it reconsider the
      next tick to schedule to correctly handle the timer's expiring time.
      
      Now while this kick is correctly performed for add_timer_on(), the
      mod_timer*() family has been a bit neglected.
      
      To prepare for fixing this, we need internal_add_timer() to be able to
      resolve the CPU target associated to a timer's object 'base' so that the
      kick can be centralized there.
      
      This can't be passed as an argument as not all the callers know the CPU
      number of a timer's base. So lets store it in the struct tvec_base to
      resolve the CPU without much overhead. It is set once for good at every
      CPU's first boot.
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Link: http://lkml.kernel.org/r/1403393357-2070-2-git-send-email-fweisbec@gmail.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      d6f93829
    • T
      time/timers: Move all time(r) related files into kernel/time · 5cee9645
      Thomas Gleixner 提交于
      Except for Kconfig.HZ. That needs a separate treatment.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      5cee9645
  2. 22 6月, 2014 1 次提交
  3. 12 6月, 2014 7 次提交
  4. 09 6月, 2014 9 次提交
    • L
      Merge tag 'for-linus-3.16-merge-window' of... · 963649d7
      Linus Torvalds 提交于
      Merge tag 'for-linus-3.16-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs
      
      Pull 9p fixes from Eric Van Hensbergen:
       "Two bug fixes, one in xattr error path and the other in parsing
        major/minor numbers from devices"
      
      * tag 'for-linus-3.16-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        9P: fix return value in v9fs_fid_xattr_set
        fs/9p: adjust sscanf parameters accordingly to the variable types
      963649d7
    • R
      numa,sched: fix load_to_imbalanced logic inversion · 1662867a
      Rik van Riel 提交于
      This function is supposed to return true if the new load imbalance is
      worse than the old one.  It didn't.  I can only hope brown paper bags
      are in style.
      
      Now things converge much better on both the 4 node and 8 node systems.
      
      I am not sure why this did not seem to impact specjbb performance on the
      4 node system, which is the system I have full-time access to.
      
      This bug was introduced recently, with commit e63da036 ("sched/numa:
      Allow task switch if load imbalance improves")
      Signed-off-by: NRik van Riel <riel@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1662867a
    • L
      Don't trigger congestion wait on dirty-but-not-writeout pages · b738d764
      Linus Torvalds 提交于
      shrink_inactive_list() used to wait 0.1s to avoid congestion when all
      the pages that were isolated from the inactive list were dirty but not
      under active writeback.  That makes no real sense, and apparently causes
      major interactivity issues under some loads since 3.11.
      
      The ostensible reason for it was to wait for kswapd to start writing
      pages, but that seems questionable as well, since the congestion wait
      code seems to trigger for kswapd itself as well.  Also, the logic behind
      delaying anything when we haven't actually started writeback is not
      clear - it only delays actually starting that writeback.
      
      We'll still trigger the congestion waiting if
      
       (a) the process is kswapd, and we hit pages flagged for immediate
           reclaim
      
       (b) the process is not kswapd, and the zone backing dev writeback is
           actually congested.
      
      This probably needs to be revisited, but as it is this fixes a reported
      regression.
      Reported-by: NFelipe Contreras <felipe.contreras@gmail.com>
      Pinpointed-by: NHillf Danton <dhillf@gmail.com>
      Cc: Michal Hocko <mhocko@suse.cz>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b738d764
    • L
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · f8409abd
      Linus Torvalds 提交于
      Pull ext4 updates from Ted Ts'o:
       "Clean ups and miscellaneous bug fixes, in particular for the new
        collapse_range and zero_range fallocate functions.  In addition,
        improve the scalability of adding and remove inodes from the orphan
        list"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (25 commits)
        ext4: handle symlink properly with inline_data
        ext4: fix wrong assert in ext4_mb_normalize_request()
        ext4: fix zeroing of page during writeback
        ext4: remove unused local variable "stored" from ext4_readdir(...)
        ext4: fix ZERO_RANGE test failure in data journalling
        ext4: reduce contention on s_orphan_lock
        ext4: use sbi in ext4_orphan_{add|del}()
        ext4: use EXT_MAX_BLOCKS in ext4_es_can_be_merged()
        ext4: add missing BUFFER_TRACE before ext4_journal_get_write_access
        ext4: remove unnecessary double parentheses
        ext4: do not destroy ext4_groupinfo_caches if ext4_mb_init() fails
        ext4: make local functions static
        ext4: fix block bitmap validation when bigalloc, ^flex_bg
        ext4: fix block bitmap initialization under sparse_super2
        ext4: find the group descriptors on a 1k-block bigalloc,meta_bg filesystem
        ext4: avoid unneeded lookup when xattr name is invalid
        ext4: fix data integrity sync in ordered mode
        ext4: remove obsoleted check
        ext4: add a new spinlock i_raw_lock to protect the ext4's raw inode
        ext4: fix locking for O_APPEND writes
        ...
      f8409abd
    • L
      Merge tag 'llvmlinux-for-v3.16' of git://git.linuxfoundation.org/llvmlinux/kernel · b20dcab9
      Linus Torvalds 提交于
      Pull LLVM patches from Behan Webster:
       "Next set of patches to support compiling the kernel with clang.
        They've been soaking in linux-next since the last merge window.
      
        More still in the works for the next merge window..."
      
      * tag 'llvmlinux-for-v3.16' of git://git.linuxfoundation.org/llvmlinux/kernel:
        arm, unwind, LLVMLinux: Enable clang to be used for unwinding the stack
        ARM: LLVMLinux: Change "extern inline" to "static inline" in glue-cache.h
        all: LLVMLinux: Change DWARF flag to support gcc and clang
        net: netfilter: LLVMLinux: vlais-netfilter
        crypto: LLVMLinux: aligned-attribute.patch
      b20dcab9
    • L
      Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ed81e780
      Linus Torvalds 提交于
      Pull x86 vdso build fix from Peter Anvin:
       "This fixes building the vdso code on older Linux systems, and probably
        some non-Linux systems"
      
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, vdso: Use <tools/le_byteshift.h> for littleendian access
      ed81e780
    • L
      Merge branch 'next' (accumulated 3.16 merge window patches) into master · 3f17ea6d
      Linus Torvalds 提交于
      Now that 3.15 is released, this merges the 'next' branch into 'master',
      bringing us to the normal situation where my 'master' branch is the
      merge window.
      
      * accumulated work in next: (6809 commits)
        ufs: sb mutex merge + mutex_destroy
        powerpc: update comments for generic idle conversion
        cris: update comments for generic idle conversion
        idle: remove cpu_idle() forward declarations
        nbd: zero from and len fields in NBD_CMD_DISCONNECT.
        mm: convert some level-less printks to pr_*
        MAINTAINERS: adi-buildroot-devel is moderated
        MAINTAINERS: add linux-api for review of API/ABI changes
        mm/kmemleak-test.c: use pr_fmt for logging
        fs/dlm/debug_fs.c: replace seq_printf by seq_puts
        fs/dlm/lockspace.c: convert simple_str to kstr
        fs/dlm/config.c: convert simple_str to kstr
        mm: mark remap_file_pages() syscall as deprecated
        mm: memcontrol: remove unnecessary memcg argument from soft limit functions
        mm: memcontrol: clean up memcg zoneinfo lookup
        mm/memblock.c: call kmemleak directly from memblock_(alloc|free)
        mm/mempool.c: update the kmemleak stack trace for mempool allocations
        lib/radix-tree.c: update the kmemleak stack trace for radix tree allocations
        mm: introduce kmemleak_update_trace()
        mm/kmemleak.c: use %u to print ->checksum
        ...
      3f17ea6d
    • L
      Linux 3.15 · 1860e379
      Linus Torvalds 提交于
      1860e379
    • L
      Revert "x86/smpboot: Initialize secondary CPU only if master CPU will wait for it" · bb077d60
      Linus Torvalds 提交于
      This reverts commit 3e1a878b.
      
      It came in very late, and already has one reported failure: Sitsofe
      reports that the current tree fails to boot on his EeePC, and bisected
      it down to this.  Rather than waste time trying to figure out what's
      wrong, just revert it.
      Reported-by: NSitsofe Wheeler <sitsofe@gmail.com>
      Cc: Igor Mammedov <imammedo@redhat.com>
      Cc: Toshi Kani <toshi.kani@hp.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Acked-by: NIngo Molnar <mingo@kernel.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bb077d60
  5. 08 6月, 2014 13 次提交
    • L
      Merge tag 'clk-for-linus-3.16' of git://git.linaro.org/people/mike.turquette/linux into next · 1a5700bc
      Linus Torvalds 提交于
      Pull clock framework updates from Mike Turquette:
       "The clock framework changes for 3.16 are pretty typical: mostly clock
        driver additions and fixes.  There are additions to the clock core
        code for some of the basic types (e.g. the common divider type has
        some fixes and featured added to it).
      
        One minor annoyance is a last-minute dependency that wasn't handled
        quite right.  Commit ba0fae3b ("clk: berlin: add core clock driver
        for BG2/BG2CD") in this pull request depends on
        include/dt-bindings/clock/berlin2.h, which is already in your tree via
        the arm-soc pull request.  Building for the berlin platform will break
        when the clk tree is built on it's own, but merged into your master
        branch everything should be fine"
      
      * tag 'clk-for-linus-3.16' of git://git.linaro.org/people/mike.turquette/linux: (75 commits)
        mmc: sunxi: Add driver for SD/MMC hosts found on Allwinner sunxi SoCs
        clk: export __clk_round_rate for providers
        clk: versatile: free icst on error return
        clk: qcom: Return error pointers for unimplemented clocks
        clk: qcom: Support msm8974pro global clock control hardware
        clk: qcom: Properly support display clocks on msm8974
        clk: qcom: Support display RCG clocks
        clk: qcom: Return highest rate when round_rate() exceeds plan
        clk: qcom: Fix mmcc-8974's PLL configurations
        clk: qcom: Fix clk_rcg2_is_enabled() check
        clk: berlin: add core clock driver for BG2Q
        clk: berlin: add core clock driver for BG2/BG2CD
        clk: berlin: add driver for BG2x complex divider cells
        clk: berlin: add driver for BG2x simple PLLs
        clk: berlin: add driver for BG2x audio/video PLL
        clk: st: Terminate of match table
        clk/exynos4: Fix compilation warning
        ARM: shmobile: r8a7779: Add clock index macros for DT sources
        clk: divider: Fix overflow in clk_divider_bestdiv
        clk: u300: Terminate of match table
        ...
      1a5700bc
    • L
      Merge tag 'vfio-v3.16-rc1' of git://github.com/awilliam/linux-vfio into next · a68a7509
      Linus Torvalds 提交于
      Pull VFIO updates from Alex Williamson:
       "A handful of VFIO bug fixes for v3.16"
      
      * tag 'vfio-v3.16-rc1' of git://github.com/awilliam/linux-vfio:
        drivers/vfio/pci: Fix wrong MSI interrupt count
        drivers/vfio: Rework offsetofend()
        vfio/iommu_type1: Avoid overflow
        vfio/pci: Fix unchecked return value
        vfio/pci: Fix sizing of DPA and THP express capabilities
      a68a7509
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6 into next · 639b4ac6
      Linus Torvalds 提交于
      Pull crypto updates from Herbert Xu:
       "Here is the crypto update for 3.16:
      
         - Added test vectors for SHA/AES-CCM/DES-CBC/3DES-CBC.
         - Fixed a number of error-path memory leaks in tcrypt.
         - Fixed error-path memory leak in caam.
         - Removed unnecessary global mutex from mxs-dcp.
         - Added ahash walk interface that can actually be asynchronous.
         - Cleaned up caam error reporting.
         - Allow crypto_user get operation to be used by non-root users.
         - Add support for SSS module on Exynos.
         - Misc fixes"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6: (60 commits)
        crypto: testmgr - add aead cbc des, des3_ede tests
        crypto: testmgr - Fix DMA-API warning
        crypto: cesa - tfm->__crt_alg->cra_type directly
        crypto: sahara - tfm->__crt_alg->cra_name directly
        crypto: padlock - tfm->__crt_alg->cra_name directly
        crypto: n2 - tfm->__crt_alg->cra_name directly
        crypto: dcp - tfm->__crt_alg->cra_name directly
        crypto: cesa - tfm->__crt_alg->cra_name directly
        crypto: ccp - tfm->__crt_alg->cra_name directly
        crypto: geode - Don't use tfm->__crt_alg->cra_name directly
        crypto: geode - Weed out printk() from probe()
        crypto: geode - Consistently use AES_KEYSIZE_128
        crypto: geode - Kill AES_IV_LENGTH
        crypto: geode - Kill AES_MIN_BLOCK_SIZE
        crypto: mxs-dcp - Remove global mutex
        crypto: hash - Add real ahash walk interface
        hwrng: n2-drv - Introduce the use of the managed version of kzalloc
        crypto: caam - reinitialize keys_fit_inline for decrypt and givencrypt
        crypto: s5p-sss - fix multiplatform build
        hwrng: timeriomem - remove unnecessary OOM messages
        ...
      639b4ac6
    • L
      Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd into next · 9d2cd01b
      Linus Torvalds 提交于
      Pull exofs raid6 support from Boaz Harrosh:
       "These simple patches will enable raid6 using the kernel's raid6_pq
        engine for support under exofs and pnfs-objects.
      
        There is nothing needed to do at exofs and pnfs-obj.  Just fire your
        mkfs.exofs with --raid=6 (that was already supported before) and off
        you go as usual.  The ORE will pick up the new map and will start
        writing two devices of redundancy bits.  The patches are so simple
        because most of the ORE was already for the general raid case, only a
        few bug fixes were needed and the actual wiring into the raid6_pq
        engine"
      
      * 'for-linus' of git://git.open-osd.org/linux-open-osd:
        ore: Support for raid 6
        ore: Remove redundant dev_order(), more cleanups
        ore: (trivial) reformat some code
      9d2cd01b
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · c593e897
      Linus Torvalds 提交于
      Pull btrfs fix from Chris Mason:
       "I had this in my 3.16 merge window queue, but it is small and obvious
        enough for 3.15.  I cherry-picked and retested against current rc8"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: send, fix corrupted path strings for long paths
      c593e897
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 052e5c7e
      Linus Torvalds 提交于
      Pull SCSI target fixes from Nicholas Bellinger:
       "Here are the remaining fixes for v3.15.
      
        This series includes:
      
         - iser-target fix for ImmediateData exception reference count bug
           (Sagi + nab)
         - iscsi-target fix for MC/S login + potential iser-target MRDSL
           buffer overrun (Santosh + Roland)
         - iser-target fix for v3.15-rc multi network portal shutdown
           regression (nab)
         - target fix for allowing READ_CAPCITY during ALUA Standby access
           state (Chris + nab)
         - target fix for NULL pointer dereference of alua_access_state for
           un-configured devices (Chris + nab)"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: Fix alua_access_state attribute OOPs for un-configured devices
        target: Allow READ_CAPACITY opcode in ALUA Standby access state
        iser-target: Fix multi network portal shutdown regression
        iscsi-target: Fix wrong buffer / buffer overrun in iscsi_change_param_value()
        iser-target: Add missing target_put_sess_cmd for ImmedateData failure
      052e5c7e
    • L
      Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 813895f8
      Linus Torvalds 提交于
      Pull x86 fixes from Peter Anvin:
       "A significantly larger than I'd like set of patches for just below the
        wire.  All of these, however, fix real problems.
      
        The one thing that is genuinely scary in here is the change of SMP
        initialization, but that *does* fix a confirmed hang when booting
        virtual machines.
      
        There is also a patch to actually do the right thing about not
        offlining a CPU when there are not enough interrupt vectors available
        in the system; the accounting was done incorrectly.  The worst case
        for that patch is that we fail to offline CPUs when we should (the new
        code is strictly more conservative than the old), so is not
        particularly risky.
      
        Most of the rest is minor stuff; the EFI patches are all about
        exporting correct information to boot loaders and kexec"
      
      * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: EFI_MIXED should not prohibit loading above 4G
        x86/smpboot: Initialize secondary CPU only if master CPU will wait for it
        x86/smpboot: Log error on secondary CPU wakeup failure at ERR level
        x86: Fix list/memory corruption on CPU hotplug
        x86: irq: Get correct available vectors for cpu disable
        x86/efi: Do not export efi runtime map in case old map
        x86/efi: earlyprintk=efi,keep fix
      813895f8
    • M
      arm, unwind, LLVMLinux: Enable clang to be used for unwinding the stack · e6b80757
      Mark Charlebois 提交于
      Patch to prevent warning of a buggy compiler when using clang and
      the ARM_UNWIND option.
      
      Clang defines (at least on the current trunk) GNUC, GNUC_MINOR, and
      GNUC_PATCHLEVEL to 4, 2, and 1 respectively.
      
      This version of GCC gets flagged as buggy, but it isn't actually an
      issue with clang so the patch will do what it did before unless clang
      is defined and then it will not report the GCC version as an issue.
      Signed-off-by: NMark Charlebois <charlebm@gmail.com>
      Signed-off-by: NBehan Webster <behanw@converseincode.com>
      e6b80757
    • B
      ARM: LLVMLinux: Change "extern inline" to "static inline" in glue-cache.h · 76ae0382
      Behan Webster 提交于
      With compilers which follow the C99 standard (like modern versions of gcc and
      clang), "extern inline" does the wrong thing (emits code for an externally
      linkable version of the inline function). "static inline" is the correct choice
      instead.
      
      Author: Behan Webster <behanw@converseincode.com>
      Signed-off-by: NBehan Webster <behanw@converseincode.com>
      Reviewed-by: NMark Charlebois <charlebm@gmail.com>
      76ae0382
    • B
      all: LLVMLinux: Change DWARF flag to support gcc and clang · 2288328c
      Behan Webster 提交于
      Both gcc (well, actually gnu as) and clang support the "-Wa,-gdwarf-2" option
      (though clang does not support "-Wa,--gdwarf-2"). Since these flags are equivalent
      in meaning, this patch uses the one which is better supported across compilers.
      Signed-off-by: NBehan Webster <behanw@converseincode.com>
      2288328c
    • M
      net: netfilter: LLVMLinux: vlais-netfilter · 066c6807
      Mark Charlebois 提交于
      Replaced non-standard C use of Variable Length Arrays In Structs (VLAIS) in
      xt_repldata.h with a C99 compliant flexible array member and then calculated
      offsets to the other struct members. These other members aren't referenced by
      name in this code, however this patch maintains the same memory layout and
      padding as was previously accomplished using VLAIS.
      
      Had the original structure been ordered differently, with the entries VLA at
      the end, then it could have been a flexible member, and this patch would have
      been a lot simpler. However since the data stored in this structure is
      ultimately exported to userspace, the order of this structure can't be changed.
      
      This patch makes no attempt to change the existing behavior, merely the way in
      which the current layout is accomplished using standard C99 constructs. As such
      the code can now be compiled with either gcc or clang.
      
      This version of the patch removes the trailing alignment that the VLAIS
      structure would allocate in order to simplify the patch.
      
      Author: Mark Charlebois <charlebm@gmail.com>
      Signed-off-by: NMark Charlebois <charlebm@gmail.com>
      Signed-off-by: NBehan Webster <behanw@converseincode.com>
      Signed-off-by: NVinícius Tinti <viniciustinti@gmail.com>
      066c6807
    • M
      crypto: LLVMLinux: aligned-attribute.patch · 66d8ea57
      Mark Charlebois 提交于
      __attribute__((aligned)) applies the default alignment for the largest scalar
      type for the target ABI. gcc allows it to be applied inline to a defined type.
      Clang only allows it to be applied to a type definition (PR11071).
      
      Making it into 2 lines makes it more readable and works with both compilers.
      
      Author: Mark Charlebois <charlebm@gmail.com>
      Signed-off-by: NMark Charlebois <charlebm@gmail.com>
      Signed-off-by: NBehan Webster <behanw@converseincode.com>
      66d8ea57
    • M
      x86/boot: EFI_MIXED should not prohibit loading above 4G · 745c5167
      Matt Fleming 提交于
      commit 7d453eee ("x86/efi: Wire up CONFIG_EFI_MIXED") introduced a
      regression for the functionality to load kernels above 4G. The relevant
      (incorrect) reasoning behind this change can be seen in the commit
      message,
      
        "The xloadflags field in the bzImage header is also updated to reflect
        that the kernel supports both entry points by setting both of
        XLF_EFI_HANDOVER_32 and XLF_EFI_HANDOVER_64 when CONFIG_EFI_MIXED=y.
        XLF_CAN_BE_LOADED_ABOVE_4G is disabled so that the kernel text is
        guaranteed to be addressable with 32-bits."
      
      This is obviously bogus since 32-bit EFI loaders will never place the
      kernel above the 4G mark. So this restriction is entirely unnecessary.
      
      But things are worse than that - since we want to encourage people to
      always compile with CONFIG_EFI_MIXED=y so that their kernels work out of
      the box for both 32-bit and 64-bit firmware, commit 7d453eee
      effectively disables XLF_CAN_BE_LOADED_ABOVE_4G completely.
      
      Remove the overzealous and superfluous restriction and restore the
      XLF_CAN_BE_LOADED_ABOVE_4G functionality.
      
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Dave Young <dyoung@redhat.com>
      Cc: Vivek Goyal <vgoyal@redhat.com>
      Signed-off-by: NMatt Fleming <matt.fleming@intel.com>
      Link: http://lkml.kernel.org/r/1402140380-15377-1-git-send-email-matt@console-pimps.orgSigned-off-by: NH. Peter Anvin <hpa@zytor.com>
      745c5167
  6. 07 6月, 2014 7 次提交