“b5a4bb1b20fcfc00f37e7193331297de5857ddc3”上不存在“paddlehub/git@gitcode.net:paddlepaddle/PaddleHub.git”
提交 24d559ca 编写于 作者: D David S. Miller

[SPARC64]: store-init needs trailing membar.

The manual says that it is required and we actually have crash reports
where loads see stale data due to not having membars here.

In one case the networking does:

	memset(skb, 0, offsetof(struct sk_buff, truesize));

and then some code later checks skb->nohdr for zero, but it's still
the value that was there before the memset().

Note that arch/sparc64/lib/xor.S already got this right.
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 5851fadc
...@@ -546,6 +546,7 @@ NGtsb_init: ...@@ -546,6 +546,7 @@ NGtsb_init:
subcc %o1, 0x100, %o1 subcc %o1, 0x100, %o1
bne,pt %xcc, 1b bne,pt %xcc, 1b
add %o0, 0x100, %o0 add %o0, 0x100, %o0
membar #Sync
retl retl
wr %g2, 0x0, %asi wr %g2, 0x0, %asi
.size NGtsb_init, .-NGtsb_init .size NGtsb_init, .-NGtsb_init
...@@ -88,6 +88,7 @@ NGbzero_loop: ...@@ -88,6 +88,7 @@ NGbzero_loop:
bne,pt %xcc, NGbzero_loop bne,pt %xcc, NGbzero_loop
add %o0, 64, %o0 add %o0, 64, %o0
membar #Sync
wr %o4, 0x0, %asi wr %o4, 0x0, %asi
brz,pn %o1, NGbzero_done brz,pn %o1, NGbzero_done
NGbzero_medium: NGbzero_medium:
......
...@@ -247,6 +247,8 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */ ...@@ -247,6 +247,8 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
/* fall through */ /* fall through */
60: 60:
membar #Sync
/* %o2 contains any final bytes still needed to be copied /* %o2 contains any final bytes still needed to be copied
* over. If anything is left, we copy it one byte at a time. * over. If anything is left, we copy it one byte at a time.
*/ */
......
...@@ -41,6 +41,7 @@ NGcopy_user_page: /* %o0=dest, %o1=src, %o2=vaddr */ ...@@ -41,6 +41,7 @@ NGcopy_user_page: /* %o0=dest, %o1=src, %o2=vaddr */
subcc %g7, 64, %g7 subcc %g7, 64, %g7
bne,pt %xcc, 1b bne,pt %xcc, 1b
add %o0, 32, %o0 add %o0, 32, %o0
membar #Sync
retl retl
nop nop
...@@ -63,6 +64,7 @@ NGclear_user_page: /* %o0=dest, %o1=vaddr */ ...@@ -63,6 +64,7 @@ NGclear_user_page: /* %o0=dest, %o1=vaddr */
subcc %g7, 64, %g7 subcc %g7, 64, %g7
bne,pt %xcc, 1b bne,pt %xcc, 1b
add %o0, 32, %o0 add %o0, 32, %o0
membar #Sync
retl retl
nop nop
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册