Skip to content
Permalink
Liu-Bo/Btrfs-c…

Commits on Apr 4, 2017

  1. Btrfs: cleanup submit_one_bio

    @bio_offset is passed into submit_bio_hook and is used at
    btrfs_wq_submit_bio(), but only dio code makes use of @bio_offset, so
    remove other dead code.
    
    Cc: David Sterba <dsterba@suse.cz>
    Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
    Liu Bo authored and fengguang committed Apr 4, 2017

Commits on Mar 30, 2017

  1. Add linux-next specific files for 20170330

    Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
    sfrothwell committed Mar 30, 2017
  2. Merge branch 'akpm/master'

    sfrothwell committed Mar 30, 2017
  3. tracing: move trace_handle_return() out of line

    Currently trace_handle_return() looks like this:
    
     static inline enum print_line_t trace_handle_return(struct trace_seq *s)
     {
            return trace_seq_has_overflowed(s) ?
                    TRACE_TYPE_PARTIAL_LINE : TRACE_TYPE_HANDLED;
     }
    
    Where trace_seq_overflowed(s) is:
    
     static inline bool trace_seq_has_overflowed(struct trace_seq *s)
     {
    	return s->full || seq_buf_has_overflowed(&s->seq);
     }
    
    And seq_buf_has_overflowed(&s->seq) is:
    
     static inline bool
     seq_buf_has_overflowed(struct seq_buf *s)
     {
    	return s->len > s->size;
     }
    
    Making trace_handle_return() into:
    
     return (s->full || (s->seq->len > s->seq->size)) ?
               TRACE_TYPE_PARTIAL_LINE :
               TRACE_TYPE_HANDLED;
    
    One would think this is not an issue to keep as an inline.  But because
    this is used in the TRACE_EVENT() macro, it is extended for every
    tracepoint in the system.  Taking a look at a single tracepoint
    x86_irq_vector (was the first one I randomly chosen).  As
    trace_handle_return is used in the TRACE_EVENT() macro of
    trace_raw_output_##call() we disassemble trace_raw_output_x86_irq_vector
    and do a diff.  I removed identical lines that were different just due to
    different addresses.
    
    The original has 22 bytes of text more than the out of line version.  As
    this is for every TRACE_EVENT() defined in the system, this can become
    quite large.
    
       text	   data	    bss	    dec	    hex	filename
    8690305	5450490	1298432	15439227	 eb957b	vmlinux-orig
    8681725	5450490	1298432	15430647	 eb73f7	vmlinux-handle
    
    This change has a total of 8580 bytes in savings.
    
     $ objdump -dr /tmp/vmlinux-orig | grep '^[0-9a-f]* <trace_raw_output' | wc -l
    324
    
    That's 324 tracepoints. But this does not include modules (which contain
    many more tracepoints). For an allyesconfig build:
    
     $ objdump -dr vmlinux-allyes-orig | grep '^[0-9a-f]* <trace_raw_output' | wc -l
    1401
    
    That's 1401 tracepoints giving us:
    
       text    data     bss     dec     hex filename
    137827709       140221067       53264384        331313160       13bf7008 vmlinux-allyes-handle
    137920629       140221067       53264384        331406080       13c0db00 vmlinux-allyes-orig
    
    92920 bytes in savings!!!
    
    Link: http://lkml.kernel.org/r/20170315021431.13107-2-andi@firstfloor.org
    Link: http://lkml.kernel.org/r/20170316113459.2366588b@gandalf.local.home
    
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Reported-by: Andi Kleen <andi@firstfloor.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    rostedt authored and sfrothwell committed Mar 30, 2017
  4. include/linux/uaccess.h: remove expensive WARN_ON in pagefault_disabl…

    …ed_dec
    
    pagefault_disabled_dec is frequently used inline, and it has a WARN_ON for
    underflow that expands to about 6.5k of extra code.  The warning doesn't
    seem to be that useful and worth so much code so remove it.
    
    If it was needed could make it depending on some debug kernel option.
    
    Saves ~6.5k in my kernel
    
       text    data     bss     dec     hex filename
    9039417 5367568 11116544        25523529        1857549 vmlinux-before-pf
    9032805 5367568 11116544        25516917        1855b75 vmlinux-pf
    
    Link: http://lkml.kernel.org/r/20170315021431.13107-8-andi@firstfloor.org
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Andi Kleen authored and sfrothwell committed Mar 30, 2017
  5. drivers/scsi/megaraid: remove expensive inline from megasas_return_cmd

    Remove an inline from a fairly big function that is used often.  It's
    unlikely that calling or not calling it makes a lot of difference.
    
    Saves around 8k text in my kernel.
    
       text    data     bss     dec     hex filename
    9047801 5367568 11116544        25531913        1859609 vmlinux-before-megasas
    9039417 5367568 11116544        25523529        1857549 vmlinux-megasas
    
    Link: http://lkml.kernel.org/r/20170315021431.13107-7-andi@firstfloor.org
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Cc: Kashyap Desai <kashyap.desai@avagotech.com>
    Cc: Sumit Saxena <sumit.saxena@avagotech.com>
    Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Andi Kleen authored and sfrothwell committed Mar 30, 2017
  6. kref: remove WARN_ON for NULL release functions

    The kref functions check for NULL release functions.  This WARN_ON seems
    rather pointless.  We will eventually release and then just crash nicely.
    It is also somewhat expensive because these functions are inlined in a lot
    of places.  Removing the WARN_ONs saves around 2.3k in this kernel (likely
    more in others with more drivers)
    
       text    data     bss     dec     hex filename
    9083992 5367600 11116544        25568136        1862388 vmlinux-before-load-avg
    9070166 5367600 11116544        25554310        185ed86 vmlinux-load-avg
    
    Link: http://lkml.kernel.org/r/20170315021431.13107-5-andi@firstfloor.org
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Andi Kleen authored and sfrothwell committed Mar 30, 2017
  7. kernel/sched/fair.c: uninline __update_load_avg()

    This is a very complex function, which is called in multiple places.  It
    is unlikely that inlining or not inlining it makes any difference for its
    run time.
    
    This saves around 13k text in my kernel
    
       text    data     bss     dec     hex filename
    9083992 5367600 11116544        25568136        1862388 vmlinux-before-load-avg
    9070166 5367600 11116544        25554310        185ed86 vmlinux-load-avg
    
    Link: http://lkml.kernel.org/r/20170315021431.13107-4-andi@firstfloor.org
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Andi Kleen authored and sfrothwell committed Mar 30, 2017
  8. x86-atomic-move-__atomic_add_unless-out-of-line-fix

    fix rejects fix
    
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    akpm00 authored and sfrothwell committed Mar 30, 2017
  9. x86/atomic: move __arch_atomic_add_unless out of line

    __arch_atomic_add_unless is fairly big and often used, so it's quite
    expensive to inline it.  But it's unlikely that a call makes much
    difference for such a complex function doing an expensive atomic.  So out
    of line it.
    
    This saves around 12k of text.
    
       text    data     bss     dec     hex filename
    9084246 5367600 11116544        25568390        1862486 vmlinux-atomic-add
    9096494 5367568 11116544        25580606        186543e vmlinux-before-atomic-add
    
    Link: http://lkml.kernel.org/r/20170315021431.13107-3-andi@firstfloor.org
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Andi Kleen authored and sfrothwell committed Mar 30, 2017
  10. treewide: decouple cacheflush.h and set_memory.h

    Now that all call sites, completely decouple cacheflush.h and
    set_memory.h
    
    Link: http://lkml.kernel.org/r/1488920133-27229-17-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Acked-by: Catalin Marinas <catalin.marinas@arm.com>
    Acked-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  11. drivers/staging/media/atomisp/pci/atomisp2: use set_memory.h

    Cc: Laura Abbott <labbott@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    akpm00 authored and sfrothwell committed Mar 30, 2017
  12. drivers/video/fbdev/vermilion/vermilion.c: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-16-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  13. drivers/misc/sram-exec.c: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-15-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  14. alsa: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-14-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  15. kernel/power/snapshot.c: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-13-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  16. kernel/module.c: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-12-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Acked-by: Jessica Yu <jeyu@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  17. include/linux/filter.h: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-11-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Acked-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  18. drivers/watchdog/hpwdt.c: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-10-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Acked-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  19. drivers/hwtracing/intel_th/msu.c: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-9-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Acked-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  20. drm-use-set_memoryh-header-fix

    track drivers/gpu/drm/i915/i915_gem_gtt.c linux-next changes
    
    Cc: Laura Abbott <labbott@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    akpm00 authored and sfrothwell committed Mar 30, 2017
  21. drm: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-8-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  22. agp: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-7-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  23. x86: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-6-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Acked-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  24. s390: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly
    
    Link: http://lkml.kernel.org/r/1488920133-27229-5-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  25. arm64: use set_memory.h header

    The set_memory_* functions have moved to set_memory.h. Use that header
    explicitly.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-4-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Acked-by: Catalin Marinas <catalin.marinas@arm.com>
    Acked-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  26. arm: use set_memory.h header

    set_memory_* functions have moved to set_memory.h. Switch to this
    explicitly
    
    Link: http://lkml.kernel.org/r/1488920133-27229-3-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  27. treewide: move set_memory_* functions away from cacheflush.h

    Patch series "set_memory_* functions header refactor", v3.
    
    The set_memory_* APIs came out of a desire to have a better way to change
    memory attributes.  Many of these attributes were linked to cache
    functionality so the prototypes were put in cacheflush.h.  These days, the
    APIs have grown and have a much wider use than just cache APIs.  To
    support this growth, split off set_memory_* and friends into a separate
    header file to avoid growing cacheflush.h for APIs that have nothing to do
    with caches.
    
    Link: http://lkml.kernel.org/r/1488920133-27229-2-git-send-email-labbott@redhat.com
    Signed-off-by: Laura Abbott <labbott@redhat.com>
    Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
    Acked-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    labbott authored and sfrothwell committed Mar 30, 2017
  28. scripts/spelling.txt: add "intialise(d)" pattern and fix typo instances

    Fix typos and add the following to the scripts/spelling.txt:
    
      intialisation||initialisation
      intialised||initialised
      intialise||initialise
    
    This commit does not intend to change the British spelling itself.
    
    Link: http://lkml.kernel.org/r/1481573103-11329-18-git-send-email-yamada.masahiro@socionext.com
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    masahir0y authored and sfrothwell committed Mar 30, 2017
  29. scripts/spelling.txt: Add regsiter -> register spelling mistake

    This typo is quite common.  Fix it and add it to the spelling file so that
    checkpatch catches it earlier.
    
    Link: http://lkml.kernel.org/r/20170317011131.6881-2-sboyd@codeaurora.org
    Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    bebarino authored and sfrothwell committed Mar 30, 2017
  30. scripts/spelling.txt: add "memory" pattern and fix typos

    Fix typos and add the following to the scripts/spelling.txt:
    
          momery||memory
    
    Link: http://lkml.kernel.org/r/20170317011131.6881-1-sboyd@codeaurora.org
    Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    bebarino authored and sfrothwell committed Mar 30, 2017
  31. mm, vmalloc: use __GFP_HIGHMEM implicitly

    __vmalloc* allows users to provide gfp flags for the underlying
    allocation. This API is quite popular
    $ git grep "=[[:space:]]__vmalloc\|return[[:space:]]*__vmalloc" | wc -l
    77
    
    The only problem is that many people are not aware that they really want
    to give __GFP_HIGHMEM along with other flags because there is really no
    reason to consume precious lowmemory on CONFIG_HIGHMEM systems for pages
    which are mapped to the kernel vmalloc space.  About half of users don't
    use this flag, though.  This signals that we make the API unnecessarily
    too complex.
    
    This patch simply uses __GFP_HIGHMEM implicitly when allocating pages to
    be mapped to the vmalloc space.  Current users which add __GFP_HIGHMEM are
    simplified and drop the flag.
    
    Link: http://lkml.kernel.org/r/20170307141020.29107-1-mhocko@kernel.org
    Signed-off-by: Michal Hocko <mhocko@suse.com>
    Reviewed-by: Matthew Wilcox <mawilcox@microsoft.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Cristopher Lameter <cl@linux.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Michal Hocko authored and sfrothwell committed Mar 30, 2017
  32. drivers/md/bcache/super.c: use kvmalloc

    bcache_device_init uses kmalloc for small requests and vmalloc for those
    which are larger than 64 pages.  This alone is a strange criterion.
    Moreover kmalloc can fallback to vmalloc on the failure.  Let's simply use
    kvmalloc instead as it knows how to handle the fallback properly
    
    Link: http://lkml.kernel.org/r/20170306103327.2766-5-mhocko@kernel.org
    Signed-off-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Cc: Kent Overstreet <kent.overstreet@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Michal Hocko authored and sfrothwell committed Mar 30, 2017
  33. drivers/md/dm-ioctl.c: use kvmalloc rather than opencoded variant

    copy_params uses kmalloc with vmalloc fallback.  We already have a helper
    for that - kvmalloc.  This caller requires GFP_NOIO semantic so it hasn't
    been converted with many others by previous patches.  All we need to
    achieve this semantic is to use the scope memalloc_noio_{save,restore}
    around kvmalloc.
    
    Link: http://lkml.kernel.org/r/20170306103327.2766-4-mhocko@kernel.org
    Signed-off-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Cc: Mikulas Patocka <mpatocka@redhat.com>
    Cc: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Michal Hocko authored and sfrothwell committed Mar 30, 2017
  34. net: use kvmalloc with __GFP_REPEAT rather than open coded variant

    fq_alloc_node, alloc_netdev_mqs and netif_alloc* open code kmalloc with
    vmalloc fallback.  Use the kvmalloc variant instead.  Keep the
    __GFP_REPEAT flag based on explanation from Eric:
    
    "At the time, tests on the hardware I had in my labs showed that vmalloc()
    could deliver pages spread all over the memory and that was a small
    penalty (once memory is fragmented enough, not at boot time)"
    
    The way how the code is constructed means, however, that we prefer to go
    and hit the OOM killer before we fall back to the vmalloc for requests
    <=32kB (with 4kB pages) in the current code.  This is rather disruptive
    for something that can be achived with the fallback.  On the other hand
    __GFP_REPEAT doesn't have any useful semantic for these requests.  So the
    effect of this patch is that requests smaller than 64kB will fallback to
    vmalloc easier now.
    
    Link: http://lkml.kernel.org/r/20170306103327.2766-3-mhocko@kernel.org
    Signed-off-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: David Miller <davem@davemloft.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Michal Hocko authored and sfrothwell committed Mar 30, 2017
Older
You can’t perform that action at this time.