public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: Al Viro <viro@zeniv•linux.org.uk>
To: Ira Weiny <ira.weiny@intel•com>
Cc: Peter Zijlstra <peterz@infradead•org>,
	Benjamin Herrenschmidt <benh@kernel•crashing.org>,
	Dave Hansen <dave.hansen@linux•intel.com>,
	dri-devel@lists•freedesktop.org, linux-mips@vger•kernel.org,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership•com>,
	Max Filippov <jcmvbkbc@gmail•com>, Huang Rui <ray.huang@amd•com>,
	Paul Mackerras <paulus@samba•org>,
	"H. Peter Anvin" <hpa@zytor•com>,
	sparclinux@vger•kernel.org,
	Dan Williams <dan.j.williams@intel•com>,
	Helge Deller <deller@gmx•de>,
	x86@kernel•org, linux-csky@vger•kernel.org,
	Ingo Molnar <mingo@redhat•com>,
	linux-snps-arc@lists•infradead.org,
	linux-xtensa@linux-xtensa•org, Borislav Petkov <bp@alien8•de>,
	Andy Lutomirski <luto@kernel•org>,
	Thomas Gleixner <tglx@linutronix•de>,
	linux-arm-kernel@lists•infradead.org,
	Chris Zankel <chris@zankel•net>,
	Thomas Bogendoerfer <tsbogend@alpha•franken.de>,
	linux-parisc@vger•kernel.org, linux-kernel@vger•kernel.org,
	Christian Koenig <christian.koenig@amd•com>,
	Andrew Morton <akpm@linux-foundation•org>,
	linuxppc-dev@lists•ozlabs.org,
	"David S. Miller" <davem@davemloft•net>
Subject: Re: [PATCH V2 00/11] Subject: Remove duplicated kmap code
Date: Mon, 4 May 2020 22:02:25 +0100	[thread overview]
Message-ID: <20200504210225.GW23230@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20200504201740.GA985739@iweiny-DESK2.sc.intel.com>

On Mon, May 04, 2020 at 01:17:41PM -0700, Ira Weiny wrote:

> > || * arm: much, much worse.  We have several files that pull linux/highmem.h:
> > || arch/arm/mm/cache-feroceon-l2.c, arch/arm/mm/cache-xsc3l2.c,
> > || arch/arm/mm/copypage-*.c, arch/arm/mm/dma-mapping.c, arch/arm/mm/flush.c,
> > || arch/arm/mm/highmem.c, arch/arm/probes/uprobes/core.c,
> > || arch/arm/include/asm/kvm_mmu.h (kmap_atomic_pfn()).
> > || Those are fine, but we also have this:
> > || arch/arm/include/asm/pgtable.h:200:#define __pte_map(pmd)               (pte_t *)kmap_atomic(pmd_page(*(pmd)))
> > || arch/arm/include/asm/pgtable.h:208:#define pte_offset_map(pmd,addr)     (__pte_map(pmd) + pte_index(addr))
> > || and sure as hell, asm/pgtable.h does *NOT* pull linux/highmem.h.
> 
> It does not pull asm/highmem.h either...

No, but the users of those macros need to be considered.

> > || #define pte_offset_map(dir, addr)               \
> > ||         ((pte_t *) kmap_atomic(pmd_page(*(dir))) + pte_index(addr))
> > ||         One pte_offset_map user in arch/microblaze:
> > || arch/microblaze/kernel/signal.c:207:    ptep = pte_offset_map(pmdp, address);
> > || Messy, but doesn't require any changes (we have asm/pgalloc.h included
> > || there, and that pull linux/highmem.h).
> 
> AFAICS asm/pgtable.h does not include asm/highmem.h here...
> 
> So looks like arch/microblaze/kernel/signal.c will need linux/highmem.h

See above - line 39 in there is
#include <asm/pgalloc.h>
and line 14 in arch/microblaze/include/asm/pgalloc.h is
#include <linux/highmem.h>
It's conditional upon CONFIG_MMU in there, but so's the use of
pte_offset_map() in arch/microblaze/kernel/signal.c 

So it shouldn't be a problem.

> > || * xtensa: users in arch/xtensa/kernel/pci-dma.c, arch/xtensa/mm/highmem.c,
> > || arch/xtensa/mm/cache.c and arch/xtensa/platforms/iss/simdisk.c (all pull
> > || linux/highmem.h).
> 
> Actually
> 
> arch/xtensa/mm/cache.c gets linux/highmem.h from linux/pagemap.h
> 
> arch/xtensa/platforms/iss/simdisk.c may have an issue?
> 	linux/blkdev.h -> CONFIG_BLOCK -> linux/pagemap.h -> linux/highmem.h
> 	But simdisk.c requires BLK_DEV_SIMDISK -> CONFIG_BLOCK...
> 	<sigh>

Yep - see above re major chain of indirect includes conditional upon CONFIG_BLOCK
and its uses in places that only build with such configs.  There's a plenty of
similar considerations outside of arch/*, unfortunately...

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-05-04 21:03 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-04  1:09 [PATCH V2 00/11] Subject: Remove duplicated kmap code ira.weiny
2020-05-04  1:09 ` [PATCH V2 01/11] arch/kmap: Remove BUG_ON() ira.weiny
2020-05-04  1:09 ` [PATCH V2 02/11] arch/xtensa: Move kmap build bug out of the way ira.weiny
2020-05-04  1:09 ` [PATCH V2 03/11] arch/kmap: Remove redundant arch specific kmaps ira.weiny
2020-05-04  1:09 ` [PATCH V2 04/11] arch/kunmap: Remove duplicate kunmap implementations ira.weiny
2020-05-04  1:09 ` [PATCH V2 05/11] {x86,powerpc,microblaze}/kmap: Move preempt disable ira.weiny
2020-05-06  6:11   ` Christoph Hellwig
2020-05-06 20:25     ` Ira Weiny
2020-05-04  1:09 ` [PATCH V2 06/11] arch/kmap_atomic: Consolidate duplicate code ira.weiny
2020-05-06  6:12   ` Christoph Hellwig
2020-05-04  1:09 ` [PATCH V2 07/11] arch/kunmap_atomic: " ira.weiny
2020-05-06  6:12   ` Christoph Hellwig
2020-05-04  1:09 ` [PATCH V2 08/11] arch/kmap: Ensure kmap_prot visibility ira.weiny
2020-05-06  6:13   ` Christoph Hellwig
2020-05-06 20:33     ` Ira Weiny
2020-05-07  4:56   ` Christoph Hellwig
2020-05-04  1:09 ` [PATCH V2 09/11] arch/kmap: Don't hard code kmap_prot values ira.weiny
2020-05-04  1:09 ` [PATCH V2 10/11] arch/kmap: Define kmap_atomic_prot() for all arch's ira.weiny
2020-05-06  6:14   ` Christoph Hellwig
2020-05-04  1:09 ` [PATCH V2 11/11] drm: Remove drm specific kmap_atomic code ira.weiny
2020-05-04 11:18   ` Daniel Vetter
2020-05-04 20:24     ` Ira Weiny
2020-05-04  1:35 ` [PATCH V2 00/11] Subject: Remove duplicated kmap code Al Viro
2020-05-04  5:04   ` Ira Weiny
2020-05-04  5:33     ` Al Viro
2020-05-04 20:17       ` Ira Weiny
2020-05-04 21:02         ` Al Viro [this message]
2020-05-04 23:27           ` Ira Weiny

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200504210225.GW23230@ZenIV.linux.org.uk \
    --to=viro@zeniv$(echo .)linux.org.uk \
    --cc=James.Bottomley@hansenpartnership$(echo .)com \
    --cc=akpm@linux-foundation$(echo .)org \
    --cc=benh@kernel$(echo .)crashing.org \
    --cc=bp@alien8$(echo .)de \
    --cc=chris@zankel$(echo .)net \
    --cc=christian.koenig@amd$(echo .)com \
    --cc=dan.j.williams@intel$(echo .)com \
    --cc=dave.hansen@linux$(echo .)intel.com \
    --cc=davem@davemloft$(echo .)net \
    --cc=deller@gmx$(echo .)de \
    --cc=dri-devel@lists$(echo .)freedesktop.org \
    --cc=hpa@zytor$(echo .)com \
    --cc=ira.weiny@intel$(echo .)com \
    --cc=jcmvbkbc@gmail$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    --cc=linux-csky@vger$(echo .)kernel.org \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=linux-mips@vger$(echo .)kernel.org \
    --cc=linux-parisc@vger$(echo .)kernel.org \
    --cc=linux-snps-arc@lists$(echo .)infradead.org \
    --cc=linux-xtensa@linux-xtensa$(echo .)org \
    --cc=linuxppc-dev@lists$(echo .)ozlabs.org \
    --cc=luto@kernel$(echo .)org \
    --cc=mingo@redhat$(echo .)com \
    --cc=paulus@samba$(echo .)org \
    --cc=peterz@infradead$(echo .)org \
    --cc=ray.huang@amd$(echo .)com \
    --cc=sparclinux@vger$(echo .)kernel.org \
    --cc=tglx@linutronix$(echo .)de \
    --cc=tsbogend@alpha$(echo .)franken.de \
    --cc=x86@kernel$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox