All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] powerpc/64s: Clarify copy_and_flush() cache sync loop comment
@ 2026-07-01 18:27 Nikhil Kumar Singh
  2026-07-01 18:38 ` Aditya Gupta
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Nikhil Kumar Singh @ 2026-07-01 18:27 UTC (permalink / raw)
  To: linuxppc-dev
  Cc: linux-kernel, maddy, mpe, npiggin, chleroy, adityag, mahesh,
	Nikhil Kumar Singh

The value loaded into r0 in copy_and_flush() represents the number of
8-byte words processed between cache synchronization operations.

The existing comment refers to cache line size, which can make it appear
that the value is a cache line size in bytes rather than a loop count.
Clarify the comment to explain that the loop processes 8 words (64 bytes)
per cache synchronization iteration, and that increasing the value would
skip cache maintenance for intermediate cache lines.

This is a comment-only change with no functional impact.

Signed-off-by: Nikhil Kumar Singh <nikhilks@linux.ibm.com>
---
 arch/powerpc/kernel/head_64.S | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index 63432a33ec49..e21c2bce8f7e 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -713,14 +713,14 @@ p_end: .8byte _end - copy_to_here
 _GLOBAL(copy_and_flush)
 	addi	r5,r5,-8
 	addi	r6,r6,-8
-4:	li	r0,8			/* Use the smallest common	*/
-					/* denominator cache line	*/
-					/* size.  This results in	*/
-					/* extra cache line flushes	*/
-					/* but operation is correct.	*/
-					/* Can't get cache line size	*/
-					/* from NACA as it is being	*/
-					/* moved too.			*/
+4:	li	r0,8			/* r0 is the number of 8-byte words       */
+					/* to copy per cache sync iteration.      */
+					/* 8 words * 8 bytes = 64 bytes. 64B is   */
+					/* the current default cache line size.   */
+					/* This is a loop count, not a byte       */
+					/* count. Increasing it will skip         */
+					/* dcbst/icbi for lines in between and    */
+					/* leave stale instructions in icache.    */
 
 	mtctr	r0			/* put # words/line in ctr	*/
 3:	addi	r6,r6,8			/* copy a cache line		*/
-- 
2.43.5



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-07-07  5:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-01 18:27 [PATCH] powerpc/64s: Clarify copy_and_flush() cache sync loop comment Nikhil Kumar Singh
2026-07-01 18:38 ` Aditya Gupta
2026-07-02  5:28 ` Mukesh Kumar Chaurasiya
2026-07-06  8:27 ` [PATCH v2] " Nikhil Kumar Singh
2026-07-07  5:38   ` Mukesh Kumar Chaurasiya

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.