Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/yellowfin.c
This commit is contained in:
@ -81,7 +81,7 @@
|
||||
struct gen_estimator
|
||||
{
|
||||
struct list_head list;
|
||||
struct gnet_stats_basic *bstats;
|
||||
struct gnet_stats_basic_packed *bstats;
|
||||
struct gnet_stats_rate_est *rate_est;
|
||||
spinlock_t *stats_lock;
|
||||
int ewma_log;
|
||||
@ -165,7 +165,7 @@ static void gen_add_node(struct gen_estimator *est)
|
||||
}
|
||||
|
||||
static
|
||||
struct gen_estimator *gen_find_node(const struct gnet_stats_basic *bstats,
|
||||
struct gen_estimator *gen_find_node(const struct gnet_stats_basic_packed *bstats,
|
||||
const struct gnet_stats_rate_est *rate_est)
|
||||
{
|
||||
struct rb_node *p = est_root.rb_node;
|
||||
@ -202,7 +202,7 @@ struct gen_estimator *gen_find_node(const struct gnet_stats_basic *bstats,
|
||||
*
|
||||
* NOTE: Called under rtnl_mutex
|
||||
*/
|
||||
int gen_new_estimator(struct gnet_stats_basic *bstats,
|
||||
int gen_new_estimator(struct gnet_stats_basic_packed *bstats,
|
||||
struct gnet_stats_rate_est *rate_est,
|
||||
spinlock_t *stats_lock,
|
||||
struct nlattr *opt)
|
||||
@ -262,7 +262,7 @@ static void __gen_kill_estimator(struct rcu_head *head)
|
||||
*
|
||||
* NOTE: Called under rtnl_mutex
|
||||
*/
|
||||
void gen_kill_estimator(struct gnet_stats_basic *bstats,
|
||||
void gen_kill_estimator(struct gnet_stats_basic_packed *bstats,
|
||||
struct gnet_stats_rate_est *rate_est)
|
||||
{
|
||||
struct gen_estimator *e;
|
||||
@ -292,7 +292,7 @@ EXPORT_SYMBOL(gen_kill_estimator);
|
||||
*
|
||||
* Returns 0 on success or a negative error code.
|
||||
*/
|
||||
int gen_replace_estimator(struct gnet_stats_basic *bstats,
|
||||
int gen_replace_estimator(struct gnet_stats_basic_packed *bstats,
|
||||
struct gnet_stats_rate_est *rate_est,
|
||||
spinlock_t *stats_lock, struct nlattr *opt)
|
||||
{
|
||||
@ -308,7 +308,7 @@ EXPORT_SYMBOL(gen_replace_estimator);
|
||||
*
|
||||
* Returns true if estimator is active, and false if not.
|
||||
*/
|
||||
bool gen_estimator_active(const struct gnet_stats_basic *bstats,
|
||||
bool gen_estimator_active(const struct gnet_stats_basic_packed *bstats,
|
||||
const struct gnet_stats_rate_est *rate_est)
|
||||
{
|
||||
ASSERT_RTNL();
|
||||
|
@ -106,16 +106,21 @@ gnet_stats_start_copy(struct sk_buff *skb, int type, spinlock_t *lock,
|
||||
* if the room in the socket buffer was not sufficient.
|
||||
*/
|
||||
int
|
||||
gnet_stats_copy_basic(struct gnet_dump *d, struct gnet_stats_basic *b)
|
||||
gnet_stats_copy_basic(struct gnet_dump *d, struct gnet_stats_basic_packed *b)
|
||||
{
|
||||
if (d->compat_tc_stats) {
|
||||
d->tc_stats.bytes = b->bytes;
|
||||
d->tc_stats.packets = b->packets;
|
||||
}
|
||||
|
||||
if (d->tail)
|
||||
return gnet_stats_copy(d, TCA_STATS_BASIC, b, sizeof(*b));
|
||||
if (d->tail) {
|
||||
struct gnet_stats_basic sb;
|
||||
|
||||
memset(&sb, 0, sizeof(sb));
|
||||
sb.bytes = b->bytes;
|
||||
sb.packets = b->packets;
|
||||
return gnet_stats_copy(d, TCA_STATS_BASIC, &sb, sizeof(sb));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -323,6 +323,11 @@ static void netpoll_send_skb(struct netpoll *np, struct sk_buff *skb)
|
||||
|
||||
udelay(USEC_PER_POLL);
|
||||
}
|
||||
|
||||
WARN_ONCE(!irqs_disabled(),
|
||||
"netpoll_send_skb(): %s enabled interrupts in poll (%pF)\n",
|
||||
dev->name, ops->ndo_start_xmit);
|
||||
|
||||
local_irq_restore(flags);
|
||||
}
|
||||
|
||||
|
@ -1035,6 +1035,7 @@ struct sock *sk_alloc(struct net *net, int family, gfp_t priority,
|
||||
sk->sk_prot = sk->sk_prot_creator = prot;
|
||||
sock_lock_init(sk);
|
||||
sock_net_set(sk, get_net(net));
|
||||
atomic_set(&sk->sk_wmem_alloc, 1);
|
||||
}
|
||||
|
||||
return sk;
|
||||
@ -1882,7 +1883,6 @@ void sock_init_data(struct socket *sock, struct sock *sk)
|
||||
*/
|
||||
smp_wmb();
|
||||
atomic_set(&sk->sk_refcnt, 1);
|
||||
atomic_set(&sk->sk_wmem_alloc, 1);
|
||||
atomic_set(&sk->sk_drops, 0);
|
||||
}
|
||||
EXPORT_SYMBOL(sock_init_data);
|
||||
|
Reference in New Issue
Block a user