diff options
author | Eric Dumazet <dada1@cosmosbay.com> | 2007-11-14 04:44:41 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:53:58 -0500 |
commit | 20fea08b5fb639c4c175b5c74a2bb346c5c5bc2e (patch) | |
tree | 3ffa7e1e82051c6772fc2a01d561e4a5a29bb138 /net/sched/sch_api.c | |
parent | 2a8cc6c89039e0530a3335954253b76ed0f9339a (diff) |
[NET]: Move Qdisc_class_ops and Qdisc_ops in appropriate sections.
Qdisc_class_ops are const, and Qdisc_ops are mostly read.
Using "const" and "__read_mostly" qualifiers helps to reduce false
sharing.
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_api.c')
-rw-r--r-- | net/sched/sch_api.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c index 8ae137e3522b..259321be1ad8 100644 --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c | |||
@@ -195,7 +195,7 @@ static struct Qdisc *qdisc_leaf(struct Qdisc *p, u32 classid) | |||
195 | { | 195 | { |
196 | unsigned long cl; | 196 | unsigned long cl; |
197 | struct Qdisc *leaf; | 197 | struct Qdisc *leaf; |
198 | struct Qdisc_class_ops *cops = p->ops->cl_ops; | 198 | const struct Qdisc_class_ops *cops = p->ops->cl_ops; |
199 | 199 | ||
200 | if (cops == NULL) | 200 | if (cops == NULL) |
201 | return NULL; | 201 | return NULL; |
@@ -373,7 +373,7 @@ dev_graft_qdisc(struct net_device *dev, struct Qdisc *qdisc) | |||
373 | 373 | ||
374 | void qdisc_tree_decrease_qlen(struct Qdisc *sch, unsigned int n) | 374 | void qdisc_tree_decrease_qlen(struct Qdisc *sch, unsigned int n) |
375 | { | 375 | { |
376 | struct Qdisc_class_ops *cops; | 376 | const struct Qdisc_class_ops *cops; |
377 | unsigned long cl; | 377 | unsigned long cl; |
378 | u32 parentid; | 378 | u32 parentid; |
379 | 379 | ||
@@ -417,7 +417,7 @@ static int qdisc_graft(struct net_device *dev, struct Qdisc *parent, | |||
417 | *old = dev_graft_qdisc(dev, new); | 417 | *old = dev_graft_qdisc(dev, new); |
418 | } | 418 | } |
419 | } else { | 419 | } else { |
420 | struct Qdisc_class_ops *cops = parent->ops->cl_ops; | 420 | const struct Qdisc_class_ops *cops = parent->ops->cl_ops; |
421 | 421 | ||
422 | err = -EINVAL; | 422 | err = -EINVAL; |
423 | 423 | ||
@@ -581,7 +581,7 @@ static int | |||
581 | check_loop_fn(struct Qdisc *q, unsigned long cl, struct qdisc_walker *w) | 581 | check_loop_fn(struct Qdisc *q, unsigned long cl, struct qdisc_walker *w) |
582 | { | 582 | { |
583 | struct Qdisc *leaf; | 583 | struct Qdisc *leaf; |
584 | struct Qdisc_class_ops *cops = q->ops->cl_ops; | 584 | const struct Qdisc_class_ops *cops = q->ops->cl_ops; |
585 | struct check_loop_arg *arg = (struct check_loop_arg *)w; | 585 | struct check_loop_arg *arg = (struct check_loop_arg *)w; |
586 | 586 | ||
587 | leaf = cops->leaf(q, cl); | 587 | leaf = cops->leaf(q, cl); |
@@ -924,7 +924,7 @@ static int tc_ctl_tclass(struct sk_buff *skb, struct nlmsghdr *n, void *arg) | |||
924 | struct rtattr **tca = arg; | 924 | struct rtattr **tca = arg; |
925 | struct net_device *dev; | 925 | struct net_device *dev; |
926 | struct Qdisc *q = NULL; | 926 | struct Qdisc *q = NULL; |
927 | struct Qdisc_class_ops *cops; | 927 | const struct Qdisc_class_ops *cops; |
928 | unsigned long cl = 0; | 928 | unsigned long cl = 0; |
929 | unsigned long new_cl; | 929 | unsigned long new_cl; |
930 | u32 pid = tcm->tcm_parent; | 930 | u32 pid = tcm->tcm_parent; |
@@ -1039,7 +1039,7 @@ static int tc_fill_tclass(struct sk_buff *skb, struct Qdisc *q, | |||
1039 | struct nlmsghdr *nlh; | 1039 | struct nlmsghdr *nlh; |
1040 | unsigned char *b = skb_tail_pointer(skb); | 1040 | unsigned char *b = skb_tail_pointer(skb); |
1041 | struct gnet_dump d; | 1041 | struct gnet_dump d; |
1042 | struct Qdisc_class_ops *cl_ops = q->ops->cl_ops; | 1042 | const struct Qdisc_class_ops *cl_ops = q->ops->cl_ops; |
1043 | 1043 | ||
1044 | nlh = NLMSG_NEW(skb, pid, seq, event, sizeof(*tcm), flags); | 1044 | nlh = NLMSG_NEW(skb, pid, seq, event, sizeof(*tcm), flags); |
1045 | tcm = NLMSG_DATA(nlh); | 1045 | tcm = NLMSG_DATA(nlh); |