1. 21 10月, 2021 1 次提交
  2. 16 8月, 2021 1 次提交
  3. 30 7月, 2021 2 次提交
  4. 01 7月, 2021 1 次提交
    • K
      mm: generalize ZONE_[DMA|DMA32] · 63703f37
      Kefeng Wang 提交于
      ZONE_[DMA|DMA32] configs have duplicate definitions on platforms that
      subscribe to them.  Instead, just make them generic options which can be
      selected on applicable platforms.
      
      Also only x86/arm64 architectures could enable both ZONE_DMA and
      ZONE_DMA32 if EXPERT, add ARCH_HAS_ZONE_DMA_SET to make dma zone
      configurable and visible on the two architectures.
      
      Link: https://lkml.kernel.org/r/20210528074557.17768-1-wangkefeng.wang@huawei.comSigned-off-by: NKefeng Wang <wangkefeng.wang@huawei.com>
      Acked-by: Catalin Marinas <catalin.marinas@arm.com>	[arm64]
      Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>	[m68k]
      Acked-by: NMike Rapoport <rppt@linux.ibm.com>
      Acked-by: Palmer Dabbelt <palmerdabbelt@google.com>	[RISC-V]
      Acked-by: Michal Simek <michal.simek@xilinx.com>	[microblaze]
      Acked-by: Michael Ellerman <mpe@ellerman.id.au>		[powerpc]
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will@kernel.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Russell King <linux@armlinux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      63703f37
  5. 30 6月, 2021 1 次提交
  6. 26 5月, 2021 2 次提交
  7. 19 2月, 2021 1 次提交
    • R
      sparc64: only select COMPAT_BINFMT_ELF if BINFMT_ELF is set · 80bddf5c
      Randy Dunlap 提交于
      Currently COMPAT on SPARC64 selects COMPAT_BINFMT_ELF unconditionally,
      even when BINFMT_ELF is not enabled. This causes a kconfig warning.
      
      Instead, just select COMPAT_BINFMT_ELF if BINFMT_ELF is enabled.
      This builds cleanly with no kconfig warnings.
      
      WARNING: unmet direct dependencies detected for COMPAT_BINFMT_ELF
        Depends on [n]: COMPAT [=y] && BINFMT_ELF [=n]
        Selected by [y]:
        - COMPAT [=y] && SPARC64 [=y]
      
      Fixes: 26b4c912 ("sparc,sparc64: unify Kconfig files")
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: sparclinux@vger.kernel.org
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      80bddf5c
  8. 11 2月, 2021 1 次提交
  9. 29 1月, 2021 1 次提交
  10. 06 1月, 2021 1 次提交
    • A
      Kconfig: regularize selection of CONFIG_BINFMT_ELF · 41026c34
      Al Viro 提交于
      with mips converted to use of fs/config_binfmt_elf.c, there's no
      need to keep selects of that thing all over arch/* - we can simply
      turn into def_bool y if COMPAT && BINFMT_ELF (in fs/Kconfig.binfmt)
      and get rid of all selects.
      
      Several architectures got those selects wrong (e.g. you could
      end up with sparc64 sans BINFMT_ELF, with select violating
      dependencies, etc.)
      
      Randy Dunlap has spotted some of those; IMO this is simpler than
      his fix, but it depends upon the stuff that would need to be
      backported, so we might end up using his variant for -stable.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      41026c34
  11. 16 12月, 2020 1 次提交
    • M
      arch, mm: restore dependency of __kernel_map_pages() on DEBUG_PAGEALLOC · 5d6ad668
      Mike Rapoport 提交于
      The design of DEBUG_PAGEALLOC presumes that __kernel_map_pages() must
      never fail.  With this assumption is wouldn't be safe to allow general
      usage of this function.
      
      Moreover, some architectures that implement __kernel_map_pages() have this
      function guarded by #ifdef DEBUG_PAGEALLOC and some refuse to map/unmap
      pages when page allocation debugging is disabled at runtime.
      
      As all the users of __kernel_map_pages() were converted to use
      debug_pagealloc_map_pages() it is safe to make it available only when
      DEBUG_PAGEALLOC is set.
      
      Link: https://lkml.kernel.org/r/20201109192128.960-4-rppt@kernel.orgSigned-off-by: NMike Rapoport <rppt@linux.ibm.com>
      Acked-by: NDavid Hildenbrand <david@redhat.com>
      Acked-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: Albert Ou <aou@eecs.berkeley.edu>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>
      Cc: Heiko Carstens <hca@linux.ibm.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Palmer Dabbelt <palmer@dabbelt.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Paul Walmsley <paul.walmsley@sifive.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
      Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5d6ad668
  12. 07 11月, 2020 1 次提交
  13. 31 10月, 2020 1 次提交
    • A
      timekeeping: default GENERIC_CLOCKEVENTS to enabled · 0774a6ed
      Arnd Bergmann 提交于
      Almost all machines use GENERIC_CLOCKEVENTS, so it feels wrong to
      require each one to select that symbol manually.
      
      Instead, enable it whenever CONFIG_LEGACY_TIMER_TICK is disabled as
      a simplification. It should be possible to select both
      GENERIC_CLOCKEVENTS and LEGACY_TIMER_TICK from an architecture now
      and decide at runtime between the two.
      
      For the clockevents arch-support.txt file, this means that additional
      architectures are marked as TODO when they have at least one machine
      that still uses LEGACY_TIMER_TICK, rather than being marked 'ok' when
      at least one machine has been converted. This means that both m68k and
      arm (for riscpc) revert to TODO.
      
      At this point, we could just always enable CONFIG_GENERIC_CLOCKEVENTS
      rather than leaving it off when not needed. I built an m68k
      defconfig kernel (using gcc-10.1.0) and found that this would add
      around 5.5KB in kernel image size:
      
         text	   data	    bss	    dec	    hex	filename
      3861936	1092236	 196656	5150828	 4e986c	obj-m68k/vmlinux-no-clockevent
      3866201	1093832	 196184	5156217	 4ead79	obj-m68k/vmlinux-clockevent
      
      On Arm (MACH_RPC), that difference appears to be twice as large,
      around 11KB on top of an 6MB vmlinux.
      Reviewed-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Tested-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      0774a6ed
  14. 09 10月, 2020 1 次提交
  15. 28 9月, 2020 1 次提交
  16. 16 9月, 2020 1 次提交
    • T
      PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectable · 077ee78e
      Thomas Gleixner 提交于
      The arch_.*_msi_irq[s] fallbacks are compiled in whether an architecture
      requires them or not. Architectures which are fully utilizing hierarchical
      irq domains should never call into that code.
      
      It's not only architectures which depend on that by implementing one or
      more of the weak functions, there is also a bunch of drivers which relies
      on the weak functions which invoke msi_controller::setup_irq[s] and
      msi_controller::teardown_irq.
      
      Make the architectures and drivers which rely on them select them in Kconfig
      and if not selected replace them by stub functions which emit a warning and
      fail the PCI/MSI interrupt allocation.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Link: https://lore.kernel.org/r/20200826112333.992429909@linutronix.de
      077ee78e
  17. 09 9月, 2020 1 次提交
  18. 19 7月, 2020 1 次提交
  19. 14 7月, 2020 1 次提交
  20. 05 7月, 2020 1 次提交
  21. 04 7月, 2020 1 次提交
  22. 23 6月, 2020 2 次提交
    • C
      sparc: unconditionally enable HAVE_COPY_THREAD_TLS · 7694f514
      Christian Brauner 提交于
      Now that both sparc and sparc64 support copy_thread_tls() and don't rely
      on do_fork() anymore, turn on HAVE_COPY_THREAD_TLS unconditionally. Once
      all architectures are switched over this macro will be removed and
      the old do_fork() calling convention fully abandoned in favor of the
      cleaner struct kernel_clone_args one.
      Signed-off-by: NChristian Brauner <christian.brauner@ubuntu.com>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Guo Ren <guoren@kernel.org>
      Cc: linux-csky@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: sparclinux@vger.kernel.org
      Link: https://lore.kernel.org/r/20200512171527.570109-4-christian.brauner@ubuntu.com
      7694f514
    • C
      sparc64: enable HAVE_COPY_THREAD_TLS · dcad2a62
      Christian Brauner 提交于
      This is part of a larger series that aims at getting rid of the
      copy_thread()/copy_thread_tls() split that makes the process creation
      codepaths in the kernel more convoluted and error-prone than they need
      to be.
      It also unblocks implementing clone3() on architectures not support
      copy_thread_tls(). Any architecture that wants to implement clone3()
      will need to select HAVE_COPY_THREAD_TLS and thus need to implement
      copy_thread_tls(). So both goals are connected but independently
      beneficial.
      
      HAVE_COPY_THREAD_TLS means that a given architecture supports
      CLONE_SETTLS and not setting it should usually mean that the
      architectures doesn't implement it but that's not how things are. In
      fact all architectures support CLONE_TLS it's just that they don't
      follow the calling convention that HAVE_COPY_THREAD_TLS implies. That
      means all architectures can be switched over to select
      HAVE_COPY_THREAD_TLS. Once that is done we can remove that macro (yay,
      less code), the unnecessary do_fork() export in kernel/fork.c, and also
      rename copy_thread_tls() back to copy_thread(). At this point
      copy_thread() becomes the main architecture specific part of process
      creation but it will be the same layout and calling convention for all
      architectures. (Once that is done we can probably cleanup each
      copy_thread() function even more but that's for the future.)
      
      Since sparc does support CLONE_SETTLS there's no reason to not select
      HAVE_COPY_THREAD_TLS. This brings us one step closer to getting rid of
      the copy_thread()/copy_thread_tls() split we still have and ultimately
      the HAVE_COPY_THREAD_TLS define in general. A lot of architectures have
      already converted and sparc is one of the few hat haven't yet. This also
      unblocks implementing the clone3() syscall on sparc which I will follow
      up later (if no one gets there before me). Once that is done we can get
      of another ARCH_WANTS_* macro.
      
      This patch just switches sparc64 over to HAVE_COPY_THREAD_TLS but not
      sparc32 which will be done in the next patch. Once Any architecture that
      supports HAVE_COPY_THREAD_TLS cannot call the do_fork() helper anymore.
      This is fine and intended since it should be removed in favor of the
      new, cleaner _do_fork() calling convention based on struct
      kernel_clone_args. In fact, most architectures have already switched.
      With this patch, sparc joins the other arches which can't use the
      fork(), vfork(), clone(), clone3() syscalls directly and who follow the
      new process creation calling convention that is based on struct
      kernel_clone_args which we introduced a while back. This means less
      custom assembly in the architectures entry path to set up the registers
      before calling into the process creation helper and it is easier to to
      support new features without having to adapt calling conventions. It
      also unifies all process creation paths between fork(), vfork(),
      clone(), and clone3(). (We can't fix the ABI nightmare that legacy
      clone() is but we can prevent stuff like this happening in the future.)
      
      Note that sparc can't easily call into the syscalls directly because of
      its return value conventions when a new process is created which
      needs to clobber the UREG_I1 register in copy_thread{_tls()} and it
      needs to restore it if process creation fails. That's not a big deal
      since the new process creation calling convention makes things simpler.
      
      This removes sparc_do_fork() and replaces it with 3 clean helpers,
      sparc_fork(), sparc_vfork(), and sparc_clone(). That means a little more
      C code until the next patch unifies sparc 32bit and sparc64. It has the
      advantage that we can remove quite a bit of assembler and it makes the
      whole syscall.S process creation bits easier to read.
      The follow-up patch will remove the custom sparc_do_fork() helper for
      32bi sparc and move sparc_fork(), sparc_vfork(), and sparc_clone() into
      a common process.c file. This allows us to remove quite a bit of
      custom assembly form 32bit sparc's entry.S file too and allows to remove
      even more code because now all helpers are shared between 32bit sparc
      and sparc64 instead of having to maintain two separate sparc_do_fork()
      implementations.
      
      For some more context, please see:
      commit 606e9ad2
      Merge: ac61145a 457677c7
      Author: Linus Torvalds <torvalds@linux-foundation.org>
      Date:   Sat Jan 11 15:33:48 2020 -0800
      
          Merge tag 'clone3-tls-v5.5-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux
      
          Pull thread fixes from Christian Brauner:
           "This contains a series of patches to fix CLONE_SETTLS when used with
            clone3().
      
            The clone3() syscall passes the tls argument through struct clone_args
            instead of a register. This means, all architectures that do not
            implement copy_thread_tls() but still support CLONE_SETTLS via
            copy_thread() expecting the tls to be located in a register argument
            based on clone() are currently unfortunately broken. Their tls value
            will be garbage.
      
            The patch series fixes this on all architectures that currently define
            __ARCH_WANT_SYS_CLONE3. It also adds a compile-time check to ensure
            that any architecture that enables clone3() in the future is forced to
            also implement copy_thread_tls().
      
            My ultimate goal is to get rid of the copy_thread()/copy_thread_tls()
            split and just have copy_thread_tls() at some point in the not too
            distant future (Maybe even renaming copy_thread_tls() back to simply
            copy_thread() once the old function is ripped from all arches). This
            is dependent now on all arches supporting clone3().
      
            While all relevant arches do that now there are still four missing:
            ia64, m68k, sh and sparc. They have the system call reserved, but not
            implemented. Once they all implement clone3() we can get rid of
            ARCH_WANT_SYS_CLONE3 and HAVE_COPY_THREAD_TLS.
      
      Note that in the meantime, m68k has already switched to the new calling
      convention.
      Signed-off-by: NChristian Brauner <christian.brauner@ubuntu.com>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Guo Ren <guoren@kernel.org>
      Cc: linux-csky@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: sparclinux@vger.kernel.org
      See: d95b56c7 ("openrisc: Cleanup copy_thread_tls docs and comments")
      See: 0b9f386c ("csky: Implement copy_thread_tls")
      Link: https://lore.kernel.org/r/20200512171527.570109-2-christian.brauner@ubuntu.com
      dcad2a62
  23. 14 6月, 2020 1 次提交
    • M
      treewide: replace '---help---' in Kconfig files with 'help' · a7f7f624
      Masahiro Yamada 提交于
      Since commit 84af7a61 ("checkpatch: kconfig: prefer 'help' over
      '---help---'"), the number of '---help---' has been gradually
      decreasing, but there are still more than 2400 instances.
      
      This commit finishes the conversion. While I touched the lines,
      I also fixed the indentation.
      
      There are a variety of indentation styles found.
      
        a) 4 spaces + '---help---'
        b) 7 spaces + '---help---'
        c) 8 spaces + '---help---'
        d) 1 space + 1 tab + '---help---'
        e) 1 tab + '---help---'    (correct indentation)
        f) 1 tab + 1 space + '---help---'
        g) 1 tab + 2 spaces + '---help---'
      
      In order to convert all of them to 1 tab + 'help', I ran the
      following commend:
      
        $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      a7f7f624
  24. 04 6月, 2020 2 次提交
    • M
      mm: remove early_pfn_in_nid() and CONFIG_NODES_SPAN_OTHER_NODES · acd3f5c4
      Mike Rapoport 提交于
      The memmap_init() function was made to iterate over memblock regions and
      as the result the early_pfn_in_nid() function became obsolete.  Since
      CONFIG_NODES_SPAN_OTHER_NODES is only used to pick a stub or a real
      implementation of early_pfn_in_nid(), it is also not needed anymore.
      
      Remove both early_pfn_in_nid() and the CONFIG_NODES_SPAN_OTHER_NODES.
      Co-developed-by: NHoan Tran <Hoan@os.amperecomputing.com>
      Signed-off-by: NHoan Tran <Hoan@os.amperecomputing.com>
      Signed-off-by: NMike Rapoport <rppt@linux.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Tested-by: Hoan Tran <hoan@os.amperecomputing.com>	[arm64]
      Cc: Baoquan He <bhe@redhat.com>
      Cc: Brian Cain <bcain@codeaurora.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Guan Xuetao <gxt@pku.edu.cn>
      Cc: Guo Ren <guoren@kernel.org>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Ley Foon Tan <ley.foon.tan@intel.com>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Nick Hu <nickhu@andestech.com>
      Cc: Paul Walmsley <paul.walmsley@sifive.com>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Stafford Horne <shorne@gmail.com>
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Link: http://lkml.kernel.org/r/20200412194859.12663-17-rppt@kernel.orgSigned-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      acd3f5c4
    • M
      mm: remove CONFIG_HAVE_MEMBLOCK_NODE_MAP option · 3f08a302
      Mike Rapoport 提交于
      CONFIG_HAVE_MEMBLOCK_NODE_MAP is used to differentiate initialization of
      nodes and zones structures between the systems that have region to node
      mapping in memblock and those that don't.
      
      Currently all the NUMA architectures enable this option and for the
      non-NUMA systems we can presume that all the memory belongs to node 0 and
      therefore the compile time configuration option is not required.
      
      The remaining few architectures that use DISCONTIGMEM without NUMA are
      easily updated to use memblock_add_node() instead of memblock_add() and
      thus have proper correspondence of memblock regions to NUMA nodes.
      
      Still, free_area_init_node() must have a backward compatible version
      because its semantics with and without CONFIG_HAVE_MEMBLOCK_NODE_MAP is
      different.  Once all the architectures will use the new semantics, the
      entire compatibility layer can be dropped.
      
      To avoid addition of extra run time memory to store node id for
      architectures that keep memblock but have only a single node, the node id
      field of the memblock_region is guarded by CONFIG_NEED_MULTIPLE_NODES and
      the corresponding accessors presume that in those cases it is always 0.
      Signed-off-by: NMike Rapoport <rppt@linux.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Tested-by: Hoan Tran <hoan@os.amperecomputing.com>	[arm64]
      Acked-by: Catalin Marinas <catalin.marinas@arm.com>	[arm64]
      Cc: Baoquan He <bhe@redhat.com>
      Cc: Brian Cain <bcain@codeaurora.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Guan Xuetao <gxt@pku.edu.cn>
      Cc: Guo Ren <guoren@kernel.org>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Ley Foon Tan <ley.foon.tan@intel.com>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Nick Hu <nickhu@andestech.com>
      Cc: Paul Walmsley <paul.walmsley@sifive.com>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Stafford Horne <shorne@gmail.com>
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Link: http://lkml.kernel.org/r/20200412194859.12663-4-rppt@kernel.orgSigned-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3f08a302
  25. 03 3月, 2020 1 次提交
    • M
      kbuild: use KBUILD_DEFCONFIG as the fallback for DEFCONFIG_LIST · 2a86f661
      Masahiro Yamada 提交于
      Most of the Kconfig commands (except defconfig and all*config) read
      the .config file as a base set of CONFIG options.
      
      When it does not exist, the files in DEFCONFIG_LIST are searched in
      this order and loaded if found.
      
      I do not see much sense in the last two lines in DEFCONFIG_LIST.
      
      [1] ARCH_DEFCONFIG
      
      The entry for DEFCONFIG_LIST is guarded by 'depends on !UML'. So, the
      ARCH_DEFCONFIG definition in arch/x86/um/Kconfig is meaningless.
      
      arch/{sh,sparc,x86}/Kconfig define ARCH_DEFCONFIG depending on 32 or
      64 bit variant symbols. This is a little bit strange; ARCH_DEFCONFIG
      should be a fixed string because the base config file is loaded before
      the symbol evaluation stage.
      
      Using KBUILD_DEFCONFIG makes more sense because it is fixed before
      Kconfig is invoked. Fortunately, arch/{sh,sparc,x86}/Makefile define it
      in the same way, and it works as expected. Hence, replace ARCH_DEFCONFIG
      with "arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)".
      
      [2] arch/$(ARCH)/defconfig
      
      This file path is no longer valid. The defconfig files are always located
      in the arch configs/ directories.
      
        $ find arch -name defconfig | sort
        arch/alpha/configs/defconfig
        arch/arm64/configs/defconfig
        arch/csky/configs/defconfig
        arch/nds32/configs/defconfig
        arch/riscv/configs/defconfig
        arch/s390/configs/defconfig
        arch/unicore32/configs/defconfig
      
      The path arch/*/configs/defconfig is already covered by
      "arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)". So, this file path is
      not necessary.
      
      I moved the default KBUILD_DEFCONFIG to the top Makefile. Otherwise,
      the 7 architectures listed above would end up with endless loop of
      syncconfig.
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      2a86f661
  26. 14 2月, 2020 1 次提交
    • F
      context-tracking: Introduce CONFIG_HAVE_TIF_NOHZ · 490f561b
      Frederic Weisbecker 提交于
      A few archs (x86, arm, arm64) don't rely anymore on TIF_NOHZ to call
      into context tracking on user entry/exit but instead use static keys
      (or not) to optimize those calls. Ideally every arch should migrate to
      that behaviour in the long run.
      
      Settle a config option to let those archs remove their TIF_NOHZ
      definitions.
      Signed-off-by: NFrederic Weisbecker <frederic@kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Paul Burton <paulburton@kernel.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: David S. Miller <davem@davemloft.net>
      490f561b
  27. 04 2月, 2020 2 次提交
  28. 08 12月, 2019 1 次提交
  29. 16 10月, 2019 1 次提交
  30. 22 8月, 2019 1 次提交
  31. 15 7月, 2019 1 次提交
  32. 13 7月, 2019 3 次提交
  33. 21 5月, 2019 1 次提交