git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
net
/
tipc
/
bcast.c
diff --git
a/net/tipc/bcast.c
b/net/tipc/bcast.c
index
2c4ecbe
..
a7b04f3
100644
(file)
--- a/
net/tipc/bcast.c
+++ b/
net/tipc/bcast.c
@@
-107,22
+107,22
@@
static spinlock_t bc_lock = SPIN_LOCK_UNLOCKED;
char tipc_bclink_name[] = "multicast-link";
char tipc_bclink_name[] = "multicast-link";
-static u32 buf_seqno(struct sk_buff *buf)
+static
inline
u32 buf_seqno(struct sk_buff *buf)
{
return msg_seqno(buf_msg(buf));
}
{
return msg_seqno(buf_msg(buf));
}
-static u32 bcbuf_acks(struct sk_buff *buf)
+static
inline
u32 bcbuf_acks(struct sk_buff *buf)
{
return (u32)(unsigned long)TIPC_SKB_CB(buf)->handle;
}
{
return (u32)(unsigned long)TIPC_SKB_CB(buf)->handle;
}
-static void bcbuf_set_acks(struct sk_buff *buf, u32 acks)
+static
inline
void bcbuf_set_acks(struct sk_buff *buf, u32 acks)
{
TIPC_SKB_CB(buf)->handle = (void *)(unsigned long)acks;
}
{
TIPC_SKB_CB(buf)->handle = (void *)(unsigned long)acks;
}
-static void bcbuf_decr_acks(struct sk_buff *buf)
+static
inline
void bcbuf_decr_acks(struct sk_buff *buf)
{
bcbuf_set_acks(buf, bcbuf_acks(buf) - 1);
}
{
bcbuf_set_acks(buf, bcbuf_acks(buf) - 1);
}
@@
-134,7
+134,7
@@
static void bcbuf_decr_acks(struct sk_buff *buf)
* Called with 'node' locked, bc_lock unlocked
*/
* Called with 'node' locked, bc_lock unlocked
*/
-static void bclink_set_gap(struct node *n_ptr)
+static
inline
void bclink_set_gap(struct node *n_ptr)
{
struct sk_buff *buf = n_ptr->bclink.deferred_head;
{
struct sk_buff *buf = n_ptr->bclink.deferred_head;
@@
-154,7
+154,7
@@
static void bclink_set_gap(struct node *n_ptr)
* distribute NACKs, but tries to use the same spacing (divide by 16).
*/
* distribute NACKs, but tries to use the same spacing (divide by 16).
*/
-static int bclink_ack_allowed(u32 n)
+static in
line in
t bclink_ack_allowed(u32 n)
{
return((n % TIPC_MIN_LINK_WIN) == tipc_own_tag);
}
{
return((n % TIPC_MIN_LINK_WIN) == tipc_own_tag);
}
@@
-271,7
+271,7
@@
static void bclink_send_nack(struct node *n_ptr)
msg_set_bcgap_to(msg, n_ptr->bclink.gap_to);
msg_set_bcast_tag(msg, tipc_own_tag);
msg_set_bcgap_to(msg, n_ptr->bclink.gap_to);
msg_set_bcast_tag(msg, tipc_own_tag);
- if (tipc_bearer_send(&bcbearer->bearer, buf,
NULL
)) {
+ if (tipc_bearer_send(&bcbearer->bearer, buf,
0
)) {
bcl->stats.sent_nacks++;
buf_discard(buf);
} else {
bcl->stats.sent_nacks++;
buf_discard(buf);
} else {
@@
-314,7
+314,7
@@
void tipc_bclink_check_gap(struct node *n_ptr, u32 last_sent)
* Only tipc_net_lock set.
*/
* Only tipc_net_lock set.
*/
-
static
void tipc_bclink_peek_nack(u32 dest, u32 sender_tag, u32 gap_after, u32 gap_to)
+void tipc_bclink_peek_nack(u32 dest, u32 sender_tag, u32 gap_after, u32 gap_to)
{
struct node *n_ptr = tipc_node_find(dest);
u32 my_after, my_to;
{
struct node *n_ptr = tipc_node_find(dest);
u32 my_after, my_to;
@@
-425,9
+425,9
@@
void tipc_bclink_recv_pkt(struct sk_buff *buf)
msg_bcgap_to(msg));
} else {
tipc_bclink_peek_nack(msg_destnode(msg),
msg_bcgap_to(msg));
} else {
tipc_bclink_peek_nack(msg_destnode(msg),
-
msg_bcast_tag(msg),
-
msg_bcgap_after(msg),
-
msg_bcgap_to(msg));
+ msg_bcast_tag(msg),
+ msg_bcgap_after(msg),
+ msg_bcgap_to(msg));
}
buf_discard(buf);
return;
}
buf_discard(buf);
return;
@@
-525,18
+525,16
@@
u32 tipc_bclink_acks_missing(struct node *n_ptr)
* Returns 0 if packet sent successfully, non-zero if not
*/
* Returns 0 if packet sent successfully, non-zero if not
*/
-
static
int tipc_bcbearer_send(struct sk_buff *buf,
-
struct tipc_bearer *unused1,
-
struct tipc_media_addr *unused2)
+int tipc_bcbearer_send(struct sk_buff *buf,
+ struct tipc_bearer *unused1,
+ struct tipc_media_addr *unused2)
{
static int send_count = 0;
{
static int send_count = 0;
- struct node_map *remains;
- struct node_map *remains_new;
- struct node_map *remains_tmp;
+ struct node_map remains;
+ struct node_map remains_new;
int bp_index;
int swap_time;
int bp_index;
int swap_time;
- int err;
/* Prepare buffer for broadcasting (if first time trying to send it) */
/* Prepare buffer for broadcasting (if first time trying to send it) */
@@
-557,9
+555,7
@@
static int tipc_bcbearer_send(struct sk_buff *buf,
/* Send buffer over bearers until all targets reached */
/* Send buffer over bearers until all targets reached */
- remains = kmalloc(sizeof(struct node_map), GFP_ATOMIC);
- remains_new = kmalloc(sizeof(struct node_map), GFP_ATOMIC);
- *remains = tipc_cltr_bcast_nodes;
+ remains = tipc_cltr_bcast_nodes;
for (bp_index = 0; bp_index < MAX_BEARERS; bp_index++) {
struct bearer *p = bcbearer->bpairs[bp_index].primary;
for (bp_index = 0; bp_index < MAX_BEARERS; bp_index++) {
struct bearer *p = bcbearer->bpairs[bp_index].primary;
@@
-568,8
+564,8
@@
static int tipc_bcbearer_send(struct sk_buff *buf,
if (!p)
break; /* no more bearers to try */
if (!p)
break; /* no more bearers to try */
- tipc_nmap_diff(
remains, &p->nodes,
remains_new);
- if (remains_new
->count == remains->
count)
+ tipc_nmap_diff(
&remains, &p->nodes, &
remains_new);
+ if (remains_new
.count == remains.
count)
continue; /* bearer pair doesn't add anything */
if (!p->publ.blocked &&
continue; /* bearer pair doesn't add anything */
if (!p->publ.blocked &&
@@
-587,27
+583,17
@@
swap:
bcbearer->bpairs[bp_index].primary = s;
bcbearer->bpairs[bp_index].secondary = p;
update:
bcbearer->bpairs[bp_index].primary = s;
bcbearer->bpairs[bp_index].secondary = p;
update:
- if (remains_new->count == 0) {
- err = TIPC_OK;
- goto out;
- }
+ if (remains_new.count == 0)
+ return TIPC_OK;
- /* swap map */
- remains_tmp = remains;
remains = remains_new;
remains = remains_new;
- remains_new = remains_tmp;
}
/* Unable to reach all targets */
bcbearer->bearer.publ.blocked = 1;
bcl->stats.bearer_congs++;
}
/* Unable to reach all targets */
bcbearer->bearer.publ.blocked = 1;
bcl->stats.bearer_congs++;
- err = ~TIPC_OK;
-
- out:
- kfree(remains_new);
- kfree(remains);
- return err;
+ return ~TIPC_OK;
}
/**
}
/**