From: Guo Ren <ren_guo@c-sky.com>
To: Greentime Hu <green.hu@gmail.com>
Cc: greentime@andestech.com, linux-kernel@vger.kernel.org,
arnd@arndb.de, linux-arch@vger.kernel.org, tglx@linutronix.de,
jason@lakedaemon.net, marc.zyngier@arm.com, robh+dt@kernel.org,
netdev@vger.kernel.org, deanbo422@gmail.com,
devicetree@vger.kernel.org, viro@zeniv.linux.org.uk,
dhowells@redhat.com, will.deacon@arm.com,
daniel.lezcano@linaro.org, linux-serial@vger.kernel.org,
geert.uytterhoeven@gmail.com, linus.walleij@linaro.org,
mark.rutland@arm.com, greg@kroah.com,
Vincent Chen <vincentc@andestech.com>
Subject: Re: [PATCH v3 07/33] nds32: MMU initialization
Date: Mon, 18 Dec 2017 17:08:48 +0800 [thread overview]
Message-ID: <20171218090848.GA5823@gary-OptiPlex-3050> (raw)
In-Reply-To: <0964714c3dcac46ac700085717b0f414b7978112.1512723245.git.green.hu@gmail.com>
Hi Greentime,
On Fri, Dec 08, 2017 at 05:11:50PM +0800, Greentime Hu wrote:
[...]
>
> diff --git a/arch/nds32/mm/highmem.c b/arch/nds32/mm/highmem.c
[...]
> +void *kmap(struct page *page)
> +{
> + unsigned long vaddr;
> + might_sleep();
> + if (!PageHighMem(page))
> + return page_address(page);
> + vaddr = (unsigned long)kmap_high(page);
Here should invalid the cpu_mmu_tlb's entry, Or invalid it in the
set_pte().
eg:
vaddr0 = kmap(page0)
*vaddr0 = val0 //It will cause tlb-miss, and hard-refill to MMU-tlb
kunmap(page0)
vaddr1 = kmap(page1) // Mostly vaddr1 = vaddr0
val = vaddr1; //No tlb-miss and it will get page0's val not page1, because
last expired vaddr0's entry is left in CPU-MMU-tlb.
Best Regards
Guo Ren
next prev parent reply other threads:[~2017-12-18 9:08 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-08 9:11 [PATCH v3 00/33] Andes(nds32) Linux Kernel Port Greentime Hu
2017-12-08 9:11 ` [PATCH v3 01/33] asm-generic/io.h: move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of ifndef CONFIG_MMU Greentime Hu
2017-12-08 9:11 ` [PATCH v3 02/33] earlycon: add reg-offset to physical address before mapping Greentime Hu
2017-12-08 9:11 ` [PATCH v3 04/33] nds32: Kernel booting and initialization Greentime Hu
2017-12-08 13:19 ` Philippe Ombredanne
2017-12-08 13:25 ` Greentime Hu
2017-12-08 9:11 ` [PATCH v3 05/33] nds32: Exception handling Greentime Hu
2017-12-08 15:05 ` Al Viro
2017-12-08 9:11 ` [PATCH v3 06/33] nds32: MMU definitions Greentime Hu
[not found] ` <cover.1512723245.git.green.hu-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-12-08 9:11 ` [PATCH v3 03/33] nds32: Assembly macros and definitions Greentime Hu
2017-12-08 9:11 ` [PATCH v3 07/33] nds32: MMU initialization Greentime Hu
2017-12-18 9:08 ` Guo Ren [this message]
2017-12-18 11:21 ` Greentime Hu
2017-12-18 12:22 ` Guo Ren
2017-12-19 6:56 ` Greentime Hu
2017-12-08 9:11 ` [PATCH v3 12/33] nds32: Atomic operations Greentime Hu
2017-12-08 9:11 ` [PATCH v3 13/33] nds32: Device specific operations Greentime Hu
2017-12-08 9:12 ` [PATCH v3 19/33] nds32: Library functions Greentime Hu
2017-12-08 9:12 ` [PATCH v3 32/33] irqchip: Andestech Internal Vector Interrupt Controller driver Greentime Hu
[not found] ` <4fb7bd1cd2619287061fd68a38a774c8aef7dbe9.1512723245.git.green.hu-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-12-11 9:16 ` Marc Zyngier
2017-12-08 9:11 ` [PATCH v3 08/33] nds32: MMU fault handling and page table management Greentime Hu
2017-12-08 9:11 ` [PATCH v3 09/33] nds32: Cache and TLB routines Greentime Hu
2017-12-13 2:16 ` Guo Ren
2017-12-13 5:45 ` Greentime Hu
[not found] ` <CAEbi=3dtcnUNbd4SoueUnoYvRWot9fA1n62t0b4PWx1UYs2jZA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-13 8:19 ` Guo Ren
2017-12-13 8:30 ` Greentime Hu
[not found] ` <CAEbi=3eKH5JESwtadq4LKF3ZvmBi1QwUWpCTb0btierBST_cRQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-13 8:53 ` Guo Ren
2017-12-13 9:03 ` Greentime Hu
[not found] ` <CAEbi=3fvdWMExreVsSu3TJqXUr5Zpt4k_q=cXXB3miJCvY-+1g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-13 9:45 ` Guo Ren
2017-12-13 10:04 ` Greentime Hu
2017-12-08 9:11 ` [PATCH v3 10/33] nds32: Process management Greentime Hu
2017-12-08 9:11 ` [PATCH v3 11/33] nds32: IRQ handling Greentime Hu
2017-12-08 9:11 ` [PATCH v3 14/33] nds32: DMA mapping API Greentime Hu
2017-12-08 9:11 ` [PATCH v3 15/33] nds32: ELF definitions Greentime Hu
2017-12-08 9:11 ` [PATCH v3 16/33] nds32: System calls handling Greentime Hu
2017-12-08 9:12 ` [PATCH v3 17/33] nds32: VDSO support Greentime Hu
2017-12-08 10:21 ` Mark Rutland
2017-12-08 11:54 ` Greentime Hu
2017-12-08 12:14 ` Mark Rutland
2017-12-12 1:58 ` Vincent Chen
2017-12-08 12:29 ` Marc Zyngier
[not found] ` <f58c7052-c2fe-5704-a03b-41bf2e3b20b9-5wv7dgnIgG8@public.gmane.org>
2017-12-08 12:46 ` Greentime Hu
2017-12-08 9:12 ` [PATCH v3 18/33] nds32: Signal handling support Greentime Hu
2017-12-08 9:12 ` [PATCH v3 20/33] nds32: Debugging support Greentime Hu
2017-12-08 9:12 ` [PATCH v3 21/33] nds32: L2 cache support Greentime Hu
2017-12-08 9:12 ` [PATCH v3 22/33] nds32: Loadable modules Greentime Hu
2017-12-08 9:12 ` [PATCH v3 23/33] nds32: Generic timers support Greentime Hu
2017-12-08 13:43 ` Linus Walleij
2017-12-08 9:12 ` [PATCH v3 24/33] nds32: Device tree support Greentime Hu
2017-12-08 10:23 ` Mark Rutland
2017-12-08 10:27 ` Mark Rutland
2017-12-08 9:12 ` [PATCH v3 25/33] nds32: Miscellaneous header files Greentime Hu
2017-12-08 9:12 ` [PATCH v3 26/33] nds32: defconfig Greentime Hu
2017-12-08 9:12 ` [PATCH v3 27/33] nds32: Build infrastructure Greentime Hu
2017-12-08 9:12 ` [PATCH v3 28/33] MAINTAINERS: Add nds32 Greentime Hu
2017-12-08 9:12 ` [PATCH v3 29/33] dt-bindings: nds32 CPU Bindings Greentime Hu
2017-12-12 20:10 ` Rob Herring
2017-12-08 9:12 ` [PATCH v3 30/33] dt-bindings: nds32 SoC Bindings Greentime Hu
2017-12-12 20:12 ` Rob Herring
2017-12-08 9:12 ` [PATCH v3 31/33] dt-bindings: interrupt-controller: Andestech Internal Vector Interrupt Controller Greentime Hu
[not found] ` <a0bb0a384a74bc180c0d4e9aa5741bb52653211b.1512723245.git.green.hu-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-12-12 17:33 ` Rob Herring
2017-12-08 9:12 ` [PATCH v3 33/33] net: faraday add nds32 support Greentime Hu
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=20171218090848.GA5823@gary-OptiPlex-3050 \
--to=ren_guo@c-sky.com \
--cc=arnd@arndb.de \
--cc=daniel.lezcano@linaro.org \
--cc=deanbo422@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dhowells@redhat.com \
--cc=geert.uytterhoeven@gmail.com \
--cc=green.hu@gmail.com \
--cc=greentime@andestech.com \
--cc=greg@kroah.com \
--cc=jason@lakedaemon.net \
--cc=linus.walleij@linaro.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@arm.com \
--cc=netdev@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=tglx@linutronix.de \
--cc=vincentc@andestech.com \
--cc=viro@zeniv.linux.org.uk \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).