1. 31 Oct, 2018 4 commits
    • Mike Rapoport's avatar
      memblock: stop using implicit alignment to SMP_CACHE_BYTES · 7e1c4e27
      Mike Rapoport authored
      When a memblock allocation APIs are called with align = 0, the alignment
      is implicitly set to SMP_CACHE_BYTES.
      
      Implicit alignment is done deep in the memblock allocator and it can
      come as a surprise.  Not that such an alignment would be wrong even
      when used incorrectly but it is better to be explicit for the sake of
      clarity and the prinicple of the least surprise.
      
      Replace all such uses of memblock APIs with the 'align' parameter
      explicitly set to SMP_CACHE_BYTES and stop implicit alignment assignment
      in the memblock internal allocation functions.
      
      For the case when memblock APIs are used via helper functions, e.g.  like
      iommu_arena_new_node() in Alpha, the helper functions were detected with
      Coccinelle's help and then manually examined and updated where
      appropriate.
      
      The direct memblock APIs users were updated using the semantic patch below:
      
      @@
      expression size, min_addr, max_addr, nid;
      @@
      (
      |
      - memblock_alloc_try_nid_raw(size, 0, min_addr, max_addr, nid)
      + memblock_alloc_try_nid_raw(size, SMP_CACHE_BYTES, min_addr, max_addr,
      nid)
      |
      - memblock_alloc_try_nid_nopanic(size, 0, min_addr, max_addr, nid)
      + memblock_alloc_try_nid_nopanic(size, SMP_CACHE_BYTES, min_addr, max_addr,
      nid)
      |
      - memblock_alloc_try_nid(size, 0, min_addr, max_addr, nid)
      + memblock_alloc_try_nid(size, SMP_CACHE_BYTES, min_addr, max_addr, nid)
      |
      - memblock_alloc(size, 0)
      + memblock_alloc(size, SMP_CACHE_BYTES)
      |
      - memblock_alloc_raw(size, 0)
      + memblock_alloc_raw(size, SMP_CACHE_BYTES)
      |
      - memblock_alloc_from(size, 0, min_addr)
      + memblock_alloc_from(size, SMP_CACHE_BYTES, min_addr)
      |
      - memblock_alloc_nopanic(size, 0)
      + memblock_alloc_nopanic(size, SMP_CACHE_BYTES)
      |
      - memblock_alloc_low(size, 0)
      + memblock_alloc_low(size, SMP_CACHE_BYTES)
      |
      - memblock_alloc_low_nopanic(size, 0)
      + memblock_alloc_low_nopanic(size, SMP_CACHE_BYTES)
      |
      - memblock_alloc_from_nopanic(size, 0, min_addr)
      + memblock_alloc_from_nopanic(size, SMP_CACHE_BYTES, min_addr)
      |
      - memblock_alloc_node(size, 0, nid)
      + memblock_alloc_node(size, SMP_CACHE_BYTES, nid)
      )
      
      [mhocko@suse.com: changelog update]
      [akpm@linux-foundation.org: coding-style fixes]
      [rppt@linux.ibm.com: fix missed uses of implicit alignment]
        Link: http://lkml.kernel.org/r/20181016133656.GA10925@rapoport-lnx
      Link: http://lkml.kernel.org/r/1538687224-17535-1-git-send-email-rppt@linux.vnet.ibm.comSigned-off-by: default avatarMike Rapoport <rppt@linux.vnet.ibm.com>
      Suggested-by: default avatarMichal Hocko <mhocko@suse.com>
      Acked-by: Paul Burton <paul.burton@mips.com>	[MIPS]
      Acked-by: Michael Ellerman <mpe@ellerman.id.au>	[powerpc]
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Guan Xuetao <gxt@pku.edu.cn>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7e1c4e27
    • Mike Rapoport's avatar
      mm: remove include/linux/bootmem.h · 57c8a661
      Mike Rapoport authored
      Move remaining definitions and declarations from include/linux/bootmem.h
      into include/linux/memblock.h and remove the redundant header.
      
      The includes were replaced with the semantic patch below and then
      semi-automated removal of duplicated '#include <linux/memblock.h>
      
      @@
      @@
      - #include <linux/bootmem.h>
      + #include <linux/memblock.h>
      
      [sfr@canb.auug.org.au: dma-direct: fix up for the removal of linux/bootmem.h]
        Link: http://lkml.kernel.org/r/20181002185342.133d1680@canb.auug.org.au
      [sfr@canb.auug.org.au: powerpc: fix up for removal of linux/bootmem.h]
        Link: http://lkml.kernel.org/r/20181005161406.73ef8727@canb.auug.org.au
      [sfr@canb.auug.org.au: x86/kaslr, ACPI/NUMA: fix for linux/bootmem.h removal]
        Link: http://lkml.kernel.org/r/20181008190341.5e396491@canb.auug.org.au
      Link: http://lkml.kernel.org/r/1536927045-23536-30-git-send-email-rppt@linux.vnet.ibm.comSigned-off-by: default avatarMike Rapoport <rppt@linux.vnet.ibm.com>
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Guan Xuetao <gxt@pku.edu.cn>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Ley Foon Tan <lftan@altera.com>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Palmer Dabbelt <palmer@sifive.com>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Serge Semin <fancer.lancer@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      57c8a661
    • Mike Rapoport's avatar
      memblock: replace free_bootmem{_node} with memblock_free · 2013288f
      Mike Rapoport authored
      The free_bootmem and free_bootmem_node are merely wrappers for
      memblock_free. Replace their usage with a call to memblock_free using the
      following semantic patch:
      
      @@
      expression e1, e2, e3;
      @@
      (
      - free_bootmem(e1, e2)
      + memblock_free(e1, e2)
      |
      - free_bootmem_node(e1, e2, e3)
      + memblock_free(e2, e3)
      )
      
      Link: http://lkml.kernel.org/r/1536927045-23536-24-git-send-email-rppt@linux.vnet.ibm.comSigned-off-by: default avatarMike Rapoport <rppt@linux.vnet.ibm.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Guan Xuetao <gxt@pku.edu.cn>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Ley Foon Tan <lftan@altera.com>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Palmer Dabbelt <palmer@sifive.com>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Serge Semin <fancer.lancer@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2013288f
    • Mike Rapoport's avatar
      memblock: replace alloc_bootmem with memblock_alloc · 2a5bda5a
      Mike Rapoport authored
      The alloc_bootmem(size) is a shortcut for allocation of SMP_CACHE_BYTES
      aligned memory. When the align parameter of memblock_alloc() is 0, the
      alignment is implicitly set to SMP_CACHE_BYTES and thus alloc_bootmem(size)
      and memblock_alloc(size, 0) are equivalent.
      
      The conversion is done using the following semantic patch:
      
      @@
      expression size;
      @@
      - alloc_bootmem(size)
      + memblock_alloc(size, 0)
      
      Link: http://lkml.kernel.org/r/1536927045-23536-22-git-send-email-rppt@linux.vnet.ibm.comSigned-off-by: default avatarMike Rapoport <rppt@linux.vnet.ibm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Guan Xuetao <gxt@pku.edu.cn>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Ley Foon Tan <lftan@altera.com>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Palmer Dabbelt <palmer@sifive.com>
      Cc: Paul Burton <paul.burton@mips.com>
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Serge Semin <fancer.lancer@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2a5bda5a
  2. 18 Oct, 2018 1 commit
  3. 08 Oct, 2018 7 commits
  4. 03 Oct, 2018 1 commit
  5. 24 Aug, 2018 1 commit
  6. 31 Jul, 2018 11 commits
  7. 25 May, 2018 1 commit
    • Mathieu Malaterre's avatar
      powerpc/sparse: Fix plain integer as NULL pointer warning · d8731527
      Mathieu Malaterre authored
      Trivial fix to remove the following sparse warnings:
      
        arch/powerpc/kernel/module_32.c:112:74: warning: Using plain integer as NULL pointer
        arch/powerpc/kernel/module_32.c:117:74: warning: Using plain integer as NULL pointer
        drivers/macintosh/via-pmu.c:1155:28: warning: Using plain integer as NULL pointer
        drivers/macintosh/via-pmu.c:1230:20: warning: Using plain integer as NULL pointer
        drivers/macintosh/via-pmu.c:1385:36: warning: Using plain integer as NULL pointer
        drivers/macintosh/via-pmu.c:1752:23: warning: Using plain integer as NULL pointer
        drivers/macintosh/via-pmu.c:2084:19: warning: Using plain integer as NULL pointer
        drivers/macintosh/via-pmu.c:2110:32: warning: Using plain integer as NULL pointer
        drivers/macintosh/via-pmu.c:2167:19: warning: Using plain integer as NULL pointer
        drivers/macintosh/via-pmu.c:2183:19: warning: Using plain integer as NULL pointer
        drivers/macintosh/via-pmu.c:277:20: warning: Using plain integer as NULL pointer
        arch/powerpc/platforms/powermac/setup.c:155:67: warning: Using plain integer as NULL pointer
        arch/powerpc/platforms/powermac/setup.c:247:27: warning: Using plain integer as NULL pointer
        arch/powerpc/platforms/powermac/setup.c:249:27: warning: Using plain integer as NULL pointer
        arch/powerpc/platforms/powermac/setup.c:252:37: warning: Using plain integer as NULL pointer
        arch/powerpc/mm/tlb_hash32.c:127:21: warning: Using plain integer as NULL pointer
        arch/powerpc/mm/tlb_hash32.c:148:21: warning: Using plain integer as NULL pointer
        arch/powerpc/mm/tlb_hash32.c:44:21: warning: Using plain integer as NULL pointer
        arch/powerpc/mm/tlb_hash32.c:57:21: warning: Using plain integer as NULL pointer
        arch/powerpc/mm/tlb_hash32.c:87:21: warning: Using plain integer as NULL pointer
        arch/powerpc/kernel/btext.c:160:31: warning: Using plain integer as NULL pointer
        arch/powerpc/kernel/btext.c:167:22: warning: Using plain integer as NULL pointer
        arch/powerpc/kernel/btext.c:274:21: warning: Using plain integer as NULL pointer
        arch/powerpc/kernel/btext.c:285:31: warning: Using plain integer as NULL pointer
        arch/powerpc/include/asm/hugetlb.h:204:16: warning: Using plain integer as NULL pointer
        arch/powerpc/mm/ppc_mmu_32.c:170:21: warning: Using plain integer as NULL pointer
        arch/powerpc/platforms/powermac/pci.c:1227:23: warning: Using plain integer as NULL pointer
        arch/powerpc/platforms/powermac/pci.c:65:24: warning: Using plain integer as NULL pointer
      
      Also use `--fix` command line option from `script/checkpatch --strict` to
      remove the following:
      
        CHECK: Comparison to NULL could be written "!dispDeviceBase"
        #72: FILE: arch/powerpc/kernel/btext.c:160:
        +	if (dispDeviceBase == NULL)
      
        CHECK: Comparison to NULL could be written "!vbase"
        #80: FILE: arch/powerpc/kernel/btext.c:167:
        +	if (vbase == NULL)
      
        CHECK: Comparison to NULL could be written "!base"
        #89: FILE: arch/powerpc/kernel/btext.c:274:
        +	if (base == NULL)
      
        CHECK: Comparison to NULL could be written "!dispDeviceBase"
        #98: FILE: arch/powerpc/kernel/btext.c:285:
        +	if (dispDeviceBase == NULL)
      
        CHECK: Comparison to NULL could be written "strstr"
        #117: FILE: arch/powerpc/kernel/module_32.c:117:
        +		if (strstr(secstrings + sechdrs[i].sh_name, ".debug") != NULL)
      
        CHECK: Comparison to NULL could be written "!Hash"
        #130: FILE: arch/powerpc/mm/ppc_mmu_32.c:170:
        +	if (Hash == NULL)
      
        CHECK: Comparison to NULL could be written "Hash"
        #143: FILE: arch/powerpc/mm/tlb_hash32.c:44:
        +	if (Hash != NULL) {
      
        CHECK: Comparison to NULL could be written "!Hash"
        #152: FILE: arch/powerpc/mm/tlb_hash32.c:57:
        +	if (Hash == NULL) {
      
        CHECK: Comparison to NULL could be written "!Hash"
        #161: FILE: arch/powerpc/mm/tlb_hash32.c:87:
        +	if (Hash == NULL) {
      
        CHECK: Comparison to NULL could be written "!Hash"
        #170: FILE: arch/powerpc/mm/tlb_hash32.c:127:
        +	if (Hash == NULL) {
      
        CHECK: Comparison to NULL could be written "!Hash"
        #179: FILE: arch/powerpc/mm/tlb_hash32.c:148:
        +	if (Hash == NULL) {
      
        ERROR: space required after that ';' (ctx:VxV)
        #192: FILE: arch/powerpc/platforms/powermac/pci.c:65:
        +	for (; node != NULL;node = node->sibling) {
      
        CHECK: Comparison to NULL could be written "node"
        #192: FILE: arch/powerpc/platforms/powermac/pci.c:65:
        +	for (; node != NULL;node = node->sibling) {
      
        CHECK: Comparison to NULL could be written "!region"
        #201: FILE: arch/powerpc/platforms/powermac/pci.c:1227:
        +	if (region == NULL)
      
        CHECK: Comparison to NULL could be written "of_get_property"
        #214: FILE: arch/powerpc/platforms/powermac/setup.c:155:
        +		if (of_get_property(np, "cache-unified", NULL) != NULL && dc) {
      
        CHECK: Comparison to NULL could be written "!np"
        #223: FILE: arch/powerpc/platforms/powermac/setup.c:247:
        +		if (np == NULL)
      
        CHECK: Comparison to NULL could be written "np"
        #226: FILE: arch/powerpc/platforms/powermac/setup.c:249:
        +		if (np != NULL) {
      
        CHECK: Comparison to NULL could be written "l2cr"
        #230: FILE: arch/powerpc/platforms/powermac/setup.c:252:
        +			if (l2cr != NULL) {
      
        CHECK: Comparison to NULL could be written "via"
        #243: FILE: drivers/macintosh/via-pmu.c:277:
        +	if (via != NULL)
      
        CHECK: Comparison to NULL could be written "current_req"
        #252: FILE: drivers/macintosh/via-pmu.c:1155:
        +	if (current_req != NULL) {
      
        CHECK: Comparison to NULL could be written "!req"
        #261: FILE: drivers/macintosh/via-pmu.c:1230:
        +	if (req == NULL || pmu_state != idle
      
        CHECK: Comparison to NULL could be written "!req"
        #270: FILE: drivers/macintosh/via-pmu.c:1385:
        +			if (req == NULL) {
      
        CHECK: Comparison to NULL could be written "!pp"
        #288: FILE: drivers/macintosh/via-pmu.c:2084:
        +	if (pp == NULL)
      
        CHECK: Comparison to NULL could be written "!pp"
        #297: FILE: drivers/macintosh/via-pmu.c:2110:
        +	if (count < 1 || pp == NULL)
      
        CHECK: Comparison to NULL could be written "!pp"
        #306: FILE: drivers/macintosh/via-pmu.c:2167:
        +	if (pp == NULL)
      
        CHECK: Comparison to NULL could be written "pp"
        #315: FILE: drivers/macintosh/via-pmu.c:2183:
        +	if (pp != NULL) {
      
      Link: https://github.com/linuxppc/linux/issues/37Signed-off-by: default avatarMathieu Malaterre <malat@debian.org>
      Signed-off-by: Michael Ellerman's avatarMichael Ellerman <mpe@ellerman.id.au>
      d8731527
  8. 16 May, 2018 1 commit
  9. 14 May, 2018 1 commit
  10. 30 Mar, 2018 2 commits
  11. 20 Mar, 2018 1 commit
  12. 19 Mar, 2018 1 commit
  13. 13 Mar, 2018 2 commits
  14. 13 Feb, 2018 1 commit
  15. 11 Feb, 2018 1 commit
    • Linus Torvalds's avatar
      vfs: do bulk POLL* -> EPOLL* replacement · a9a08845
      Linus Torvalds authored
      This is the mindless scripted replacement of kernel use of POLL*
      variables as described by Al, done by this script:
      
          for V in IN OUT PRI ERR RDNORM RDBAND WRNORM WRBAND HUP RDHUP NVAL MSG; do
              L=`git grep -l -w POLL$V | grep -v '^t' | grep -v /um/ | grep -v '^sa' | grep -v '/poll.h$'|grep -v '^D'`
              for f in $L; do sed -i "-es/^\([^\"]*\)\(\<POLL$V\>\)/\\1E\\2/" $f; done
          done
      
      with de-mangling cleanups yet to come.
      
      NOTE! On almost all architectures, the EPOLL* constants have the same
      values as the POLL* constants do.  But they keyword here is "almost".
      For various bad reasons they aren't the same, and epoll() doesn't
      actually work quite correctly in some cases due to this on Sparc et al.
      
      The next patch from Al will sort out the final differences, and we
      should be all done.
      Scripted-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a9a08845
  16. 28 Jan, 2018 2 commits
  17. 27 Jan, 2018 1 commit
  18. 21 Jan, 2018 1 commit