2010-06-02 21:21:57

by Cliff Wickman

[permalink] [raw]
Subject: [PATCH 9/11] x86, UV: correct BAU regular message type


The Broadcast Assist Unit messages have a regular or retry message type.
The regular type was not being set, but needs to be, because the lack
of a message type is sometimes used to identify an unused entry in the
message queue.
Also removing some excess comments.

Diffed against 2.6.34 -tip

Signed-off-by: Cliff Wickman <[email protected]>
---
arch/x86/kernel/tlb_uv.c | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)

Index: 100531.linux-tip/arch/x86/kernel/tlb_uv.c
===================================================================
--- 100531.linux-tip.orig/arch/x86/kernel/tlb_uv.c
+++ 100531.linux-tip/arch/x86/kernel/tlb_uv.c
@@ -580,23 +580,10 @@ const struct cpumask *uv_flush_send_and_
}
time1 = get_cycles();
do {
- /*
- * Every message from any given cpu gets a unique message
- * sequence number. But retries use that same number.
- * Our message may have timed out at the destination because
- * all sw-ack resources are in use and there is a timeout
- * pending there. In that case, our last send never got
- * placed into the queue and we need to persist until it
- * does.
- *
- * Make any retry a type MSG_RETRY so that the destination will
- * free any resource held by a previous message from this cpu.
- */
if (try == 0) {
- /* use message type set by the caller the first time */
+ bau_desc->header.msg_type = MSG_REGULAR;
seq_number = bcp->message_number++;
} else {
- /* use RETRY type on all the rest; same sequence */
bau_desc->header.msg_type = MSG_RETRY;
stat->s_retry_messages++;
}


2010-06-08 20:59:03

by Cliff Wickman

[permalink] [raw]
Subject: [tip:x86/uv] x86, UV: Correct BAU regular message type

Commit-ID: 7fba1bcd4844a4a8619a03bf51cabc92aea365a8
Gitweb: http://git.kernel.org/tip/7fba1bcd4844a4a8619a03bf51cabc92aea365a8
Author: Cliff Wickman <[email protected]>
AuthorDate: Wed, 2 Jun 2010 16:22:02 -0500
Committer: Ingo Molnar <[email protected]>
CommitDate: Tue, 8 Jun 2010 21:13:47 +0200

x86, UV: Correct BAU regular message type

The Broadcast Assist Unit messages have a regular or retry
message type. The regular type was not being set, but needs to
be, because the lack of a message type is sometimes used to
identify an unused entry in the message queue.
Also removing some excess comments.

Signed-off-by: Cliff Wickman <[email protected]>
Cc: [email protected]
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/kernel/tlb_uv.c | 15 +--------------
1 files changed, 1 insertions(+), 14 deletions(-)

diff --git a/arch/x86/kernel/tlb_uv.c b/arch/x86/kernel/tlb_uv.c
index dc962b5..4cb14db 100644
--- a/arch/x86/kernel/tlb_uv.c
+++ b/arch/x86/kernel/tlb_uv.c
@@ -580,23 +580,10 @@ const struct cpumask *uv_flush_send_and_wait(struct bau_desc *bau_desc,
}
time1 = get_cycles();
do {
- /*
- * Every message from any given cpu gets a unique message
- * sequence number. But retries use that same number.
- * Our message may have timed out at the destination because
- * all sw-ack resources are in use and there is a timeout
- * pending there. In that case, our last send never got
- * placed into the queue and we need to persist until it
- * does.
- *
- * Make any retry a type MSG_RETRY so that the destination will
- * free any resource held by a previous message from this cpu.
- */
if (try == 0) {
- /* use message type set by the caller the first time */
+ bau_desc->header.msg_type = MSG_REGULAR;
seq_number = bcp->message_number++;
} else {
- /* use RETRY type on all the rest; same sequence */
bau_desc->header.msg_type = MSG_RETRY;
stat->s_retry_messages++;
}