All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guo Ren <ren_guo@c-sky.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: akpm@linux-foundation.org, arnd@arndb.de,
	daniel.lezcano@linaro.org, davem@davemloft.net,
	gregkh@linuxfoundation.org, jason@lakedaemon.net,
	marc.zyngier@arm.com, mark.rutland@arm.com,
	mchehab+samsung@kernel.org, robh@kernel.org, robh+dt@kernel.org,
	tglx@linutronix.de, linux-kernel@vger.kernel.org,
	linux-arch@vger.kernel.org, devicetree@vger.kernel.org,
	c-sky_gcc_upstream@c-sky.com, gnu-csky@mentor.com,
	green.hu@gmail.com, palmer@sifive.com
Subject: Re: [PATCH V5 06/30] csky: Cache and TLB routines
Date: Thu, 27 Sep 2018 16:11:42 +0800	[thread overview]
Message-ID: <20180927081138.GA308@guoren> (raw)
In-Reply-To: <20180927070859.GC5254@hirez.programming.kicks-ass.net>

On Thu, Sep 27, 2018 at 09:08:59AM +0200, Peter Zijlstra wrote:
> On Thu, Sep 27, 2018 at 01:27:38PM +0800, Guo Ren wrote:
> > On Tue, Sep 25, 2018 at 09:24:07AM +0200, Peter Zijlstra wrote:
> > > On Mon, Sep 24, 2018 at 10:36:22PM +0800, Guo Ren wrote:
> > > > diff --git a/arch/csky/abiv1/inc/abi/cacheflush.h b/arch/csky/abiv1/inc/abi/cacheflush.h
> > > > new file mode 100644
> > > > index 0000000..f0de49c
> > > > --- /dev/null
> > > > +++ b/arch/csky/abiv1/inc/abi/cacheflush.h
> 
> > > > +#define flush_cache_range(mm,start,end)	cache_wbinv_range(start, end)
> > >                              ^^^ should be vma
> > Yes, I'll change it to:
> > #define flush_cache_range(mm,start,end)	cache_wbinv_all()
> > 
> > I'll improve it later after test.
> 
> That's not what I meant; I meant you need something like:
> 
> #define flush_cache_range(vma, start, end) cache_wbinv_range(start, end)
If you remove the tlb_start_vma in my tlb.h, I want to use cache_wbinv_all() is
more safe. And I'll improve it in future.

My cache_wbinv_range(start, end) won't care vma->mm's asid and they just use current
asid in mmu reg. If current_mm != vma->mm, then flush_cache_range will be broken.
Perhaps, I need improve flush_cache_range first ...

> 
> The first argument is a vma, not an mm.
Yes, vma! My fault :-P

> > > Also, I'll be shortly removing this:
> > > 
> > >   https://lkml.kernel.org/r/20180913092812.071989585@infradead.org
> > Ok, I'll follow the rules.
> 
> 
> > > > diff --git a/arch/csky/abiv2/inc/abi/cacheflush.h b/arch/csky/abiv2/inc/abi/cacheflush.h
> > > > new file mode 100644
> > > > index 0000000..756beb7
> > > > --- /dev/null
> > > > +++ b/arch/csky/abiv2/inc/abi/cacheflush.h
> > > > @@ -0,0 +1,40 @@
> 
> > > > +#define flush_cache_range(vma, start, end)	do { } while (0)
> > >                              ^^^ like here..
> > #define flush_cache_range(vma, start, end) \
> > 	do { \
> > 		if (vma->vm_flags & VM_EXEC) \
> > 			icache_inv_all(); \
> > 	}
> > 
> > Hmm ?
> > 
> 
> For v2, which IIUC is PIPT (as opposed to v1 which is VIPT), what you
> had was correct.
I'll improve icache_inv_all() with flush_range() in future.

> 
> I was merely pointing out that the flush_cache_range() definition was
> inconsitent between v1 and v2; v1 using @mm and v2 using @vma for the
> first argument.
Must be vma, you are right. And I know it's a vma in mind, but fault in
code. Thx for your review.

Best Regards
 Guo Ren

  reply	other threads:[~2018-09-27  8:11 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-24 14:34 [PATCH V5 00/30] C-SKY(csky) Linux Kernel Port Guo Ren
2018-09-24 14:36 ` [PATCH V5 01/30] csky: Build infrastructure Guo Ren
2018-09-24 14:36 ` [PATCH V5 02/30] csky: defconfig Guo Ren
2018-09-24 14:36 ` [PATCH V5 03/30] csky: Kernel booting Guo Ren
2018-09-24 14:36 ` [PATCH V5 04/30] csky: Exception handling and mm-fault Guo Ren
2018-09-24 14:36 ` [PATCH V5 05/30] csky: System Call Guo Ren
2018-09-24 14:36 ` [PATCH V5 06/30] csky: Cache and TLB routines Guo Ren
2018-09-25  7:24   ` Peter Zijlstra
2018-09-27  5:27     ` Guo Ren
2018-09-27  7:08       ` Peter Zijlstra
2018-09-27  8:11         ` Guo Ren [this message]
2018-09-27  9:01           ` Peter Zijlstra
2018-09-27 11:19             ` Guo Ren
2018-09-24 14:36 ` [PATCH V5 07/30] csky: MMU and page table management Guo Ren
2018-09-24 14:36 ` [PATCH V5 08/30] csky: Process management and Signal Guo Ren
2018-09-24 14:36 ` [PATCH V5 09/30] csky: VDSO and rt_sigreturn Guo Ren
2018-09-24 14:36 ` [PATCH V5 10/30] csky: IRQ handling Guo Ren
2018-09-24 14:36 ` [PATCH V5 11/30] csky: Atomic operations Guo Ren
2018-09-24 14:36 ` [PATCH V5 12/30] csky: ELF and module probe Guo Ren
2018-09-24 14:36 ` [PATCH V5 13/30] csky: Library functions Guo Ren
2018-09-24 14:36 ` [PATCH V5 14/30] csky: User access Guo Ren
2018-09-24 23:39 ` [PATCH V5 15/30] csky: Debug and Ptrace GDB Guo Ren
2018-09-24 23:39 ` [PATCH V5 16/30] csky: SMP support Guo Ren
2018-09-24 23:39 ` [PATCH V5 17/30] csky: Misc headers Guo Ren
2018-09-25 10:08   ` Andrea Parri
2018-09-25 10:45     ` Peter Zijlstra
2018-09-27  5:07       ` Guo Ren
2018-09-24 23:39 ` [PATCH V5 18/30] dt-bindings: csky CPU Bindings Guo Ren
2018-09-27 16:43   ` Rob Herring
2018-09-28  1:03     ` Guo Ren
2018-09-28 11:32       ` Rob Herring
2018-09-28 11:42         ` Guo Ren
2018-09-24 23:39 ` [PATCH V5 19/30] dt-bindings: Add vendor prefix for csky Guo Ren
2018-09-27 16:44   ` Rob Herring
2018-09-27 16:44     ` Rob Herring
2018-09-27 16:44     ` Rob Herring
2018-09-24 23:39 ` [PATCH V5 20/30] csky/dma: bugfix dma_sync_for_cpu/device Guo Ren
2018-09-24 23:39 ` [PATCH V5 21/30] csky: remove irq_mapping from smp.c Guo Ren
2018-09-24 23:39 ` [PATCH V5 22/30] irqchip: add C-SKY SMP interrupt controller Guo Ren
2018-09-24 23:39 ` [PATCH V5 23/30] dt-bindings: interrupt-controller: C-SKY SMP intc Guo Ren
2018-09-27 16:50   ` Rob Herring
2018-09-28  1:07     ` Guo Ren
2018-09-24 23:39 ` [PATCH V5 24/30] clocksource: add C-SKY SMP timer Guo Ren
2018-09-24 23:39 ` [PATCH V5 25/30] dt-bindings: timer: C-SKY Multi-processor timer Guo Ren
2018-09-27 17:35   ` Rob Herring
2018-09-28  1:08     ` Guo Ren
2018-09-24 23:39 ` [PATCH V5 26/30] MAINTAINERS: Add csky Guo Ren
2018-09-24 23:39 ` [PATCH V5 27/30] dt-bindings: interrupt-controller: C-SKY APB intc Guo Ren
2018-09-27 17:36   ` Rob Herring
2018-09-27 17:36     ` Rob Herring
2018-09-27 17:36     ` Rob Herring
2018-09-24 23:39 ` [PATCH V5 28/30] irqchip: add C-SKY APB bus interrupt controller Guo Ren
2018-09-24 23:39 ` [PATCH V5 29/30] dt-bindings: timer: gx6605s SOC timer Guo Ren
2018-09-24 23:39 ` [PATCH V5 30/30] clocksource: add gx6605s SOC system timer Guo Ren

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=20180927081138.GA308@guoren \
    --to=ren_guo@c-sky.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=c-sky_gcc_upstream@c-sky.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=gnu-csky@mentor.com \
    --cc=green.hu@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jason@lakedaemon.net \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=mchehab+samsung@kernel.org \
    --cc=palmer@sifive.com \
    --cc=peterz@infradead.org \
    --cc=robh+dt@kernel.org \
    --cc=robh@kernel.org \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.