1. 05 7月, 2015 24 次提交
  2. 04 7月, 2015 16 次提交
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b1be9ead
      Linus Torvalds 提交于
      Pull x86 fixes from Ingo Molnar:
       "Two FPU rewrite related fixes.  This addresses all known x86
        regressions at this stage.  Also some other misc fixes"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Fix boot crash in the early FPU code
        x86/asm/entry/64: Update path names
        x86/fpu: Fix FPU related boot regression when CPUID masking BIOS feature is enabled
        x86/boot/setup: Clean up the e820_reserve_setup_data() code
        x86/kaslr: Fix typo in the KASLR_FLAG documentation
      b1be9ead
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 22a093b2
      Linus Torvalds 提交于
      Pull scheduler fixes from Ingo Molnar:
       "Debug info and other statistics fixes and related enhancements"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/numa: Fix numa balancing stats in /proc/pid/sched
        sched/numa: Show numa_group ID in /proc/sched_debug task listings
        sched/debug: Move print_cfs_rq() declaration to kernel/sched/sched.h
        sched/stat: Expose /proc/pid/schedstat if CONFIG_SCHED_INFO=y
        sched/stat: Simplify the sched_info accounting dependency
      22a093b2
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c1776a18
      Linus Torvalds 提交于
      Pull perf updates from Ingo Molnar:
       "This tree includes an x86 PMU scheduling fix, but most changes are
        late breaking tooling fixes and updates:
      
        User visible fixes:
      
         - Create config.detected into OUTPUT directory, fixing parallel
           builds sharing the same source directory (Aaro Kiskinen)
      
         - Allow to specify custom linker command, fixing some MIPS64 builds.
           (Aaro Kiskinen)
      
         - Fix to show proper convergence stats in 'perf bench numa' (Srikar
           Dronamraju)
      
        User visible changes:
      
         - Validate syscall list passed via -e argument to 'perf trace'.
           (Arnaldo Carvalho de Melo)
      
         - Introduce 'perf stat --per-thread' (Jiri Olsa)
      
         - Check access permission for --kallsyms and --vmlinux (Li Zhang)
      
         - Move toggling event logic from 'perf top' and into hists browser,
           allowing freeze/unfreeze with event lists with more than one entry
           (Namhyung Kim)
      
         - Add missing newlines when dumping PERF_RECORD_FINISHED_ROUND and
           showing the Aggregated stats in 'perf report -D' (Adrian Hunter)
      
        Infrastructure fixes:
      
         - Add missing break for PERF_RECORD_ITRACE_START, which caused those
           events samples to be parsed as well as PERF_RECORD_LOST_SAMPLES.
           ITRACE_START only appears when Intel PT or BTS are present, so..
           (Jiri Olsa)
      
         - Call the perf_session destructor when bailing out in the inject,
           kmem, report, kvm and mem tools (Taeung Song)
      
        Infrastructure changes:
      
         - Move stuff out of 'perf stat' and into the lib for further use
           (Jiri Olsa)
      
         - Reference count the cpu_map and thread_map classes (Jiri Olsa)
      
         - Set evsel->{cpus,threads} from the evlist, if not set, allowing the
           generalization of some 'perf stat' functions that previously were
           accessing private static evlist variable (Jiri Olsa)
      
         - Delete an unnecessary check before the calling free_event_desc()
           (Markus Elfring)
      
         - Allow auxtrace data alignment (Adrian Hunter)
      
         - Allow events with dot (Andi Kleen)
      
         - Fix failure to 'perf probe' events on arm (He Kuang)
      
         - Add testing for Makefile.perf (Jiri Olsa)
      
         - Add test for make install with prefix (Jiri Olsa)
      
         - Fix single target build dependency check (Jiri Olsa)
      
         - Access thread_map entries via accessors, prep patch to hold more
           info per entry, for ongoing 'perf stat --per-thread' work (Jiri
           Olsa)
      
         - Use __weak definition from compiler.h (Sukadev Bhattiprolu)
      
         - Split perf_pmu__new_alias() (Sukadev Bhattiprolu)"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits)
        perf tools: Allow to specify custom linker command
        perf tools: Create config.detected into OUTPUT directory
        perf mem: Fill in the missing session freeing after an error occurs
        perf kvm: Fill in the missing session freeing after an error occurs
        perf report: Fill in the missing session freeing after an error occurs
        perf kmem: Fill in the missing session freeing after an error occurs
        perf inject: Fill in the missing session freeing after an error occurs
        perf tools: Add missing break for PERF_RECORD_ITRACE_START
        perf/x86: Fix 'active_events' imbalance
        perf symbols: Check access permission when reading symbol files
        perf stat: Introduce --per-thread option
        perf stat: Introduce print_counters function
        perf stat: Using init_stats instead of memset
        perf stat: Rename print_interval to process_interval
        perf stat: Remove perf_evsel__read_cb function
        perf stat: Move perf_stat initialization counter process code
        perf stat: Move zero_per_pkg into counter process code
        perf stat: Separate counters reading and processing
        perf stat: Introduce read_counters function
        perf stat: Introduce perf_evsel__read function
        ...
      c1776a18
    • L
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 91cca0f0
      Linus Torvalds 提交于
      Pull max log buf size increase from Ingo Molnar:
       "Ran into this limit recently, so increase it by an order of magnitude"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        printk: Increase maximum CONFIG_LOG_BUF_SHIFT from 21 to 25
      91cca0f0
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · ec0337e0
      Linus Torvalds 提交于
      Pull second round of input updates from Dmitry Torokhov:
       "A new driver for Weida wdt87xx touch controllers, and a bunch of
        fixups for other drivers"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: wdt87xx_i2c - add a scaling factor for TOUCH_MAJOR event
        Input: wdt87xx_i2c - remove stray newline in diagnostic message
        Input: arc_ps2 - add HAS_IOMEM dependency
        Input: wdt87xx_i2c - fix format warning
        Input: improve parsing OF parameters for touchscreens
        Input: edt-ft5x06 - mark as direct input device
        Input: use for_each_set_bit() where appropriate
        Input: add a driver for wdt87xx touchscreen controller
        Input: axp20x-pek - fix reporting button state as inverted
        Input: xpad - re-send LED command on present event
        Input: xpad - set the LEDs properly on XBox Wireless controllers
        Input: imx_keypad - check for clk_prepare_enable() error
      ec0337e0
    • I
      x86/fpu: Fix boot crash in the early FPU code · b96fecbf
      Ingo Molnar 提交于
      Jan Kara and Thomas Gleixner reported boot crashes in the FPU
      code:
      
        general protection fault: 0000 [#1] SMP
        RIP: 0010:[<ffffffff81048a6c>]  [<ffffffff81048a6c>] mxcsr_feature_mask_init+0x1c/0x40
      
        2b:*  0f ae 85 00 fe ff ff    fxsave -0x200(%rbp)
      
      and bisected it down to the following FPU commit:
      
         91a8c2a5 ("x86/fpu: Clean up and fix MXCSR handling")
      
      The reason is that the on-stack FPU registers state variable,
      used by the FXSAVE instruction, did not have the required
      minimum alignment of 16 bytes, causing the general protection
      fault.
      
      This is most likely a GCC bug in older GCC versions, but the
      offending commit also added a bogus extra 32-byte alignment
      (which GCC ignored too).
      
      So fix this bug by making the variable static again, but also
      mark it __initdata this time, because fpu__init_system_mxcsr()
      is now an __init function.
      Reported-and-bisected-by: NJan Kara <jack@suse.cz>
      Reported-bisected-and-tested-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Quentin Casasnovas <quentin.casasnovas@oracle.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/20150704075819.GA9201@gmail.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      b96fecbf
    • S
      sched/numa: Fix numa balancing stats in /proc/pid/sched · 397f2378
      Srikar Dronamraju 提交于
      Commit 44dba3d5 ("sched: Refactor task_struct to use
      numa_faults instead of numa_* pointers") modified the way
      tsk->numa_faults stats are accounted.
      
      However that commit never touched show_numa_stats() that is displayed
      in /proc/pid/sched and thus the numbers displayed in /proc/pid/sched
      don't match the actual numbers.
      
      Fix it by making sure that /proc/pid/sched reflects the task
      fault numbers. Also add group fault stats too.
      
      Also couple of more modifications are added here:
      
      1. Format changes:
      
        - Previously we would list two entries per node, one for private
          and one for shared. Also the home node info was listed in each entry.
      
        - Now preferred node, total_faults and current node are
          displayed separately.
      
        - Now there is one entry per node, that lists private,shared task and
          group faults.
      
      2. Unit changes:
      
        - p->numa_pages_migrated was getting reset after every read of
          /proc/pid/sched. It's more useful to have absolute numbers since
          differential migrations between two accesses can be more easily
          calculated.
      Signed-off-by: NSrikar Dronamraju <srikar@linux.vnet.ibm.com>
      Acked-by: NRik van Riel <riel@redhat.com>
      Cc: Iulia Manda <iulia.manda21@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/1435252903-1081-4-git-send-email-srikar@linux.vnet.ibm.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      397f2378
    • S
      sched/numa: Show numa_group ID in /proc/sched_debug task listings · e3d24d0a
      Srikar Dronamraju 提交于
      Having the numa group ID in /proc/sched_debug helps to see how
      the numa groups have spread across the system.
      Signed-off-by: NSrikar Dronamraju <srikar@linux.vnet.ibm.com>
      Acked-by: NRik van Riel <riel@redhat.com>
      Cc: Iulia Manda <iulia.manda21@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/1435252903-1081-3-git-send-email-srikar@linux.vnet.ibm.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      e3d24d0a
    • S
      sched/debug: Move print_cfs_rq() declaration to kernel/sched/sched.h · 6b55c965
      Srikar Dronamraju 提交于
      Currently print_cfs_rq() is declared in include/linux/sched.h.
      However it's not used outside kernel/sched. Hence move the
      declaration to kernel/sched/sched.h
      
      Also some functions are only available for CONFIG_SCHED_DEBUG=y.
      Hence move the declarations to within the #ifdef.
      Signed-off-by: NSrikar Dronamraju <srikar@linux.vnet.ibm.com>
      Acked-by: NRik van Riel <riel@redhat.com>
      Cc: Iulia Manda <iulia.manda21@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/1435252903-1081-2-git-send-email-srikar@linux.vnet.ibm.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      6b55c965
    • N
      sched/stat: Expose /proc/pid/schedstat if CONFIG_SCHED_INFO=y · 5968cece
      Naveen N. Rao 提交于
      Expand /proc/pid/schedstat output:
      
       - enable it on CONFIG_TASK_DELAY_ACCT=y && !CONFIG_SCHEDSTATS kernels.
      
       - dump all zeroes on kernels that are booted with the 'nodelayacct'
         option, which boot option disables delay accounting on
         CONFIG_TASK_DELAY_ACCT=y kernels.
      Signed-off-by: NNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
      Cc: Balbir Singh <bsingharora@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: a.p.zijlstra@chello.nl
      Cc: ricklind@us.ibm.com
      Link: http://lkml.kernel.org/r/5ccbef17d4bc841084ea6e6421d4e4a23b7b806f.1435654789.git.naveen.n.rao@linux.vnet.ibm.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      5968cece
    • N
      sched/stat: Simplify the sched_info accounting dependency · f6db8347
      Naveen N. Rao 提交于
      Both CONFIG_SCHEDSTATS=y and CONFIG_TASK_DELAY_ACCT=y track task
      sched_info, which results in ugly #if clauses.
      
      Simplify the code by introducing a synthethic CONFIG_SCHED_INFO
      switch, selected by both.
      Signed-off-by: NNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
      Cc: Balbir Singh <bsingharora@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: a.p.zijlstra@chello.nl
      Cc: ricklind@us.ibm.com
      Link: http://lkml.kernel.org/r/8d19eef800811a94b0f91bcbeb27430a884d7433.1435255405.git.naveen.n.rao@linux.vnet.ibm.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      f6db8347
    • D
      Merge branch 'next' into for-linus · a5cba18c
      Dmitry Torokhov 提交于
      Prepare second round of input updates for 4.2 merge window.
      a5cba18c
    • L
      Merge tag 'topic/drm-fixes-2015-07-04' of git://anongit.freedesktop.org/drm-intel · 5c65e7be
      Linus Torvalds 提交于
      Pull drm EDID fix from Daniel Vetter:
       "Since Dave is enjoying vacation I figured I'll send you this drm core
        fix directly"
      
      * tag 'topic/drm-fixes-2015-07-04' of git://anongit.freedesktop.org/drm-intel:
        drm/crtc: Fix edid length computation
      5c65e7be
    • L
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 5fc83528
      Linus Torvalds 提交于
      Pull virtio/vhost cross endian support from Michael Tsirkin:
       "I have just queued some more bugfix patches today but none fix
        regressions and none are related to these ones, so it looks like a
        good time for a merge for -rc1.
      
        The motivation for this is support for legacy BE guests on the new LE
        hosts.  There are two redeeming properties that made me merge this:
      
         - It's a trivial amount of code: since we wrap host/guest accesses
           anyway, almost all of it is well hidden from drivers.
      
         - Sane platforms would never set flags like VHOST_CROSS_ENDIAN_LEGACY,
           and when it's clear, there's zero overhead (as some point it was
           tested by compiling with and without the patches, got the same
           stripped binary).
      
        Maybe we could create a Kconfig symbol to enforce the second point:
        prevent people from enabling it eg on x86.  I will look into this"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        virtio-pci: alloc only resources actually used.
        macvtap/tun: cross-endian support for little-endian hosts
        vhost: cross-endian support for legacy devices
        virtio: add explicit big-endian support to memory accessors
        vhost: introduce vhost_is_little_endian() helper
        vringh: introduce vringh_is_little_endian() helper
        macvtap: introduce macvtap_is_little_endian() helper
        tun: add tun_is_little_endian() helper
        virtio: introduce virtio_is_little_endian() helper
      5fc83528
    • S
      drm/crtc: Fix edid length computation · e24ff467
      Shixin Zeng 提交于
      The length of each EDID block is EDID_LENGTH, and number of blocks is
      (1 + edid->extensions) - we need to multiply not add them.
      
      This causes wrong EDID to be passed on, and is a regression introduced
      by d2ed3436 (drm: Introduce helper for replacing blob properties)
      Signed-off-by: NShixin Zeng <zeng.shixin@gmail.com>
      Cc: Daniel Stone <daniels@collabora.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: NDaniel Stone <daniels@collabora.com>
      [danvet: Add Cc: and fix commit summary.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      e24ff467
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 0cbee992
      Linus Torvalds 提交于
      Pull user namespace updates from Eric Biederman:
       "Long ago and far away when user namespaces where young it was realized
        that allowing fresh mounts of proc and sysfs with only user namespace
        permissions could violate the basic rule that only root gets to decide
        if proc or sysfs should be mounted at all.
      
        Some hacks were put in place to reduce the worst of the damage could
        be done, and the common sense rule was adopted that fresh mounts of
        proc and sysfs should allow no more than bind mounts of proc and
        sysfs.  Unfortunately that rule has not been fully enforced.
      
        There are two kinds of gaps in that enforcement.  Only filesystems
        mounted on empty directories of proc and sysfs should be ignored but
        the test for empty directories was insufficient.  So in my tree
        directories on proc, sysctl and sysfs that will always be empty are
        created specially.  Every other technique is imperfect as an ordinary
        directory can have entries added even after a readdir returns and
        shows that the directory is empty.  Special creation of directories
        for mount points makes the code in the kernel a smidge clearer about
        it's purpose.  I asked container developers from the various container
        projects to help test this and no holes were found in the set of mount
        points on proc and sysfs that are created specially.
      
        This set of changes also starts enforcing the mount flags of fresh
        mounts of proc and sysfs are consistent with the existing mount of
        proc and sysfs.  I expected this to be the boring part of the work but
        unfortunately unprivileged userspace winds up mounting fresh copies of
        proc and sysfs with noexec and nosuid clear when root set those flags
        on the previous mount of proc and sysfs.  So for now only the atime,
        read-only and nodev attributes which userspace happens to keep
        consistent are enforced.  Dealing with the noexec and nosuid
        attributes remains for another time.
      
        This set of changes also addresses an issue with how open file
        descriptors from /proc/<pid>/ns/* are displayed.  Recently readlink of
        /proc/<pid>/fd has been triggering a WARN_ON that has not been
        meaningful since it was added (as all of the code in the kernel was
        converted) and is not now actively wrong.
      
        There is also a short list of issues that have not been fixed yet that
        I will mention briefly.
      
        It is possible to rename a directory from below to above a bind mount.
        At which point any directory pointers below the renamed directory can
        be walked up to the root directory of the filesystem.  With user
        namespaces enabled a bind mount of the bind mount can be created
        allowing the user to pick a directory whose children they can rename
        to outside of the bind mount.  This is challenging to fix and doubly
        so because all obvious solutions must touch code that is in the
        performance part of pathname resolution.
      
        As mentioned above there is also a question of how to ensure that
        developers by accident or with purpose do not introduce exectuable
        files on sysfs and proc and in doing so introduce security regressions
        in the current userspace that will not be immediately obvious and as
        such are likely to require breaking userspace in painful ways once
        they are recognized"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        vfs: Remove incorrect debugging WARN in prepend_path
        mnt: Update fs_fully_visible to test for permanently empty directories
        sysfs: Create mountpoints with sysfs_create_mount_point
        sysfs: Add support for permanently empty directories to serve as mount points.
        kernfs: Add support for always empty directories.
        proc: Allow creating permanently empty directories that serve as mount points
        sysctl: Allow creating permanently empty directories that serve as mountpoints.
        fs: Add helper functions for permanently empty directories.
        vfs: Ignore unlocked mounts in fs_fully_visible
        mnt: Modify fs_fully_visible to deal with locked ro nodev and atime
        mnt: Refactor the logic for mounting sysfs and proc in a user namespace
      0cbee992