[PATCHv2] remove unnecessary cache flush on v6 copypage

Subsystems: arm port, the rest

5 messages, 3 authors, 2011-07-08 · open the first message on its own page

[PATCHv2] remove unnecessary cache flush on v6 copypage

From: Heechul Yun <hidden>
Date: 2011-07-07 14:30:34

ARM: mm: remove unnecessary cache flush on v6 copypage

Originally introduced to maintain coherency between icache and dcache
in v6 nonaliasing mode. This is now handled by __sync_icache_dcache since
c0177800, therefore unneceary in this function.  

Signed-off-by: Heechul Yun <redacted>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
--
arch/arm/mm/copypage-v6.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mm/copypage-v6.c b/arch/arm/mm/copypage-v6.c
index bdba6c6..63cca00 100644
--- a/arch/arm/mm/copypage-v6.c
+++ b/arch/arm/mm/copypage-v6.c
@@ -41,7 +41,6 @@ static void v6_copy_user_highpage_nonaliasing(struct page *to,
 	kfrom = kmap_atomic(from, KM_USER0);
 	kto = kmap_atomic(to, KM_USER1);
 	copy_page(kto, kfrom);
-	__cpuc_flush_dcache_area(kto, PAGE_SIZE);
 	kunmap_atomic(kto, KM_USER1);
 	kunmap_atomic(kfrom, KM_USER0);
 }

Re: [PATCHv2] remove unnecessary cache flush on v6 copypage

From: Catalin Marinas <catalin.marinas@arm.com>
Date: 2011-07-07 14:49:20

On Thu, Jul 07, 2011 at 09:30:19AM -0500, Heechul Yun wrote:
ARM: mm: remove unnecessary cache flush on v6 copypage
Just move this line in the subject and remove it from the body.
Originally introduced to maintain coherency between icache and dcache
in v6 nonaliasing mode. This is now handled by __sync_icache_dcache since
c0177800, therefore unneceary in this function.  
Minor typo - "unnecessary".

Thanks.

-- 
Catalin

Re: [PATCHv2] remove unnecessary cache flush on v6 copypage

From: Russell King - ARM Linux <hidden>
Date: 2011-07-08 09:36:15

On Thu, Jul 07, 2011 at 09:30:19AM -0500, Heechul Yun wrote:
quoted hunk
ARM: mm: remove unnecessary cache flush on v6 copypage

Originally introduced to maintain coherency between icache and dcache
in v6 nonaliasing mode. This is now handled by __sync_icache_dcache since
c0177800, therefore unneceary in this function.  

Signed-off-by: Heechul Yun <redacted>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
--
arch/arm/mm/copypage-v6.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mm/copypage-v6.c b/arch/arm/mm/copypage-v6.c
index bdba6c6..63cca00 100644
--- a/arch/arm/mm/copypage-v6.c
+++ b/arch/arm/mm/copypage-v6.c
@@ -41,7 +41,6 @@ static void v6_copy_user_highpage_nonaliasing(struct page *to,
 	kfrom = kmap_atomic(from, KM_USER0);
 	kto = kmap_atomic(to, KM_USER1);
 	copy_page(kto, kfrom);
-	__cpuc_flush_dcache_area(kto, PAGE_SIZE);
 	kunmap_atomic(kto, KM_USER1);
 	kunmap_atomic(kfrom, KM_USER0);
 }
The above patch is fine (it has tabs preserved) but the version in the
patch system has spaces instead (each space character has been replaced
with a '.') and so doesn't apply:

$ pdb getpatch 6995/1 |tr ' ' '.'
Patch:.6995/1:.mm:.remove.unnecessary.cache.flush.on.v6.copypage
From:.Heechul.Yun
-------------------------------------------------------------------------------
.arch/arm/mm/copypage-v6.c.|....1.-
.1.file.changed,.1.deletion(-)
-------------------------------------------------------------------------------
diff.--git.a/arch/arm/mm/copypage-v6.c.b/arch/arm/mm/copypage-v6.c
index.bdba6c6..63cca00.100644
---.a/arch/arm/mm/copypage-v6.c
+++.b/arch/arm/mm/copypage-v6.c
@@.-41,7.+41,6.@@.static.void.v6_copy_user_highpage_nonaliasing(struct.page.*to,........kfrom.=.kmap_atomic(from,.KM_USER0);
........kto.=.kmap_atomic(to,.KM_USER1);
........copy_page(kto,.kfrom);
-.......__cpuc_flush_dcache_area(kto,.PAGE_SIZE);
........kunmap_atomic(kto,.KM_USER1);
........kunmap_atomic(kfrom,.KM_USER0);
.}

Re: [PATCHv2] remove unnecessary cache flush on v6 copypage

From: Catalin Marinas <catalin.marinas@arm.com>
Date: 2011-07-08 09:47:46

On Fri, Jul 08, 2011 at 10:35:42AM +0100, Russell King - ARM Linux wrote:
On Thu, Jul 07, 2011 at 09:30:19AM -0500, Heechul Yun wrote:
quoted
ARM: mm: remove unnecessary cache flush on v6 copypage

Originally introduced to maintain coherency between icache and dcache
in v6 nonaliasing mode. This is now handled by __sync_icache_dcache since
c0177800, therefore unneceary in this function.  

Signed-off-by: Heechul Yun <redacted>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
--
arch/arm/mm/copypage-v6.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mm/copypage-v6.c b/arch/arm/mm/copypage-v6.c
index bdba6c6..63cca00 100644
--- a/arch/arm/mm/copypage-v6.c
+++ b/arch/arm/mm/copypage-v6.c
@@ -41,7 +41,6 @@ static void v6_copy_user_highpage_nonaliasing(struct page *to,
 	kfrom = kmap_atomic(from, KM_USER0);
 	kto = kmap_atomic(to, KM_USER1);
 	copy_page(kto, kfrom);
-	__cpuc_flush_dcache_area(kto, PAGE_SIZE);
 	kunmap_atomic(kto, KM_USER1);
 	kunmap_atomic(kfrom, KM_USER0);
 }
The above patch is fine (it has tabs preserved) but the version in the
patch system has spaces instead (each space character has been replaced
with a '.') and so doesn't apply:
Does your patch system now understand a From: line in the patch log (and
preserve the author)? I can upload the patch on Heechul's behalf.

-- 
Catalin

Re: [PATCHv2] remove unnecessary cache flush on v6 copypage

From: heechul Yun <hidden>
Date: 2011-07-08 12:52:42

I just resubmitted the patch to the patch system (6995/2).

Thank you for your patience.

On Fri, Jul 8, 2011 at 2:35 AM, Russell King - ARM Linux
[off-list ref] wrote:
On Thu, Jul 07, 2011 at 09:30:19AM -0500, Heechul Yun wrote:
quoted
ARM: mm: remove unnecessary cache flush on v6 copypage

Originally introduced to maintain coherency between icache and dcache
in v6 nonaliasing mode. This is now handled by __sync_icache_dcache since
c0177800, therefore unneceary in this function.

Signed-off-by: Heechul Yun <redacted>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
--
arch/arm/mm/copypage-v6.c | ? ?1 -
?1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mm/copypage-v6.c b/arch/arm/mm/copypage-v6.c
index bdba6c6..63cca00 100644
--- a/arch/arm/mm/copypage-v6.c
+++ b/arch/arm/mm/copypage-v6.c
@@ -41,7 +41,6 @@ static void v6_copy_user_highpage_nonaliasing(struct page *to,
? ? ? kfrom = kmap_atomic(from, KM_USER0);
? ? ? kto = kmap_atomic(to, KM_USER1);
? ? ? copy_page(kto, kfrom);
- ? ? __cpuc_flush_dcache_area(kto, PAGE_SIZE);
? ? ? kunmap_atomic(kto, KM_USER1);
? ? ? kunmap_atomic(kfrom, KM_USER0);
?}
The above patch is fine (it has tabs preserved) but the version in the
patch system has spaces instead (each space character has been replaced
with a '.') and so doesn't apply:

$ pdb getpatch 6995/1 |tr ' ' '.'
Patch:.6995/1:.mm:.remove.unnecessary.cache.flush.on.v6.copypage
From:.Heechul.Yun
-------------------------------------------------------------------------------
.arch/arm/mm/copypage-v6.c.|....1.-
.1.file.changed,.1.deletion(-)
-------------------------------------------------------------------------------
diff.--git.a/arch/arm/mm/copypage-v6.c.b/arch/arm/mm/copypage-v6.c
index.bdba6c6..63cca00.100644
---.a/arch/arm/mm/copypage-v6.c
+++.b/arch/arm/mm/copypage-v6.c
@@.-41,7.+41,6.@@.static.void.v6_copy_user_highpage_nonaliasing(struct.page.*to,........kfrom.=.kmap_atomic(from,.KM_USER0);
........kto.=.kmap_atomic(to,.KM_USER1);
........copy_page(kto,.kfrom);
-.......__cpuc_flush_dcache_area(kto,.PAGE_SIZE);
........kunmap_atomic(kto,.KM_USER1);
........kunmap_atomic(kfrom,.KM_USER0);
.}
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help