mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 22:23:14 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Several conflicts here. NFP driver bug fix adding nfp_netdev_is_nfp_repr() check to nfp_fl_output() needed some adjustments because the code block is in an else block now. Parallel additions to net/pkt_cls.h and net/sch_generic.h A bug fix in __tcp_retransmit_skb() conflicted with some of the rbtree changes in net-next. The tc action RCU callback fixes in 'net' had some overlap with some of the recent tcf_block reworking. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
e1ea2f9856
252 changed files with 2322 additions and 2083 deletions
|
|
@ -159,6 +159,7 @@ static void fq_tin_enqueue(struct fq *fq,
|
|||
fq_flow_get_default_t get_default_func)
|
||||
{
|
||||
struct fq_flow *flow;
|
||||
bool oom;
|
||||
|
||||
lockdep_assert_held(&fq->lock);
|
||||
|
||||
|
|
@ -180,8 +181,8 @@ static void fq_tin_enqueue(struct fq *fq,
|
|||
}
|
||||
|
||||
__skb_queue_tail(&flow->queue, skb);
|
||||
|
||||
if (fq->backlog > fq->limit || fq->memory_usage > fq->memory_limit) {
|
||||
oom = (fq->memory_usage > fq->memory_limit);
|
||||
while (fq->backlog > fq->limit || oom) {
|
||||
flow = list_first_entry_or_null(&fq->backlogs,
|
||||
struct fq_flow,
|
||||
backlogchain);
|
||||
|
|
@ -196,8 +197,10 @@ static void fq_tin_enqueue(struct fq *fq,
|
|||
|
||||
flow->tin->overlimit++;
|
||||
fq->overlimit++;
|
||||
if (fq->memory_usage > fq->memory_limit)
|
||||
if (oom) {
|
||||
fq->overmemory++;
|
||||
oom = (fq->memory_usage > fq->memory_limit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -133,6 +133,12 @@ static inline int inet_request_bound_dev_if(const struct sock *sk,
|
|||
return sk->sk_bound_dev_if;
|
||||
}
|
||||
|
||||
static inline struct ip_options_rcu *ireq_opt_deref(const struct inet_request_sock *ireq)
|
||||
{
|
||||
return rcu_dereference_check(ireq->ireq_opt,
|
||||
refcount_read(&ireq->req.rsk_refcnt) > 0);
|
||||
}
|
||||
|
||||
struct inet_cork {
|
||||
unsigned int flags;
|
||||
__be32 addr;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define __NET_PKT_CLS_H
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <net/sch_generic.h>
|
||||
#include <net/act_api.h>
|
||||
|
||||
|
|
@ -28,6 +29,7 @@ struct tcf_block_ext_info {
|
|||
};
|
||||
|
||||
struct tcf_block_cb;
|
||||
bool tcf_queue_work(struct work_struct *work);
|
||||
|
||||
#ifdef CONFIG_NET_CLS
|
||||
struct tcf_chain *tcf_chain_get(struct tcf_block *block, u32 chain_index,
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include <linux/dynamic_queue_limits.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/refcount.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <net/gen_stats.h>
|
||||
#include <net/rtnetlink.h>
|
||||
|
||||
|
|
@ -273,6 +274,7 @@ struct tcf_block {
|
|||
struct net *net;
|
||||
struct Qdisc *q;
|
||||
struct list_head cb_list;
|
||||
struct work_struct work;
|
||||
};
|
||||
|
||||
static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz)
|
||||
|
|
|
|||
|
|
@ -261,7 +261,7 @@ struct sctp_chunk *sctp_make_fwdtsn(const struct sctp_association *asoc,
|
|||
struct sctp_fwdtsn_skip *skiplist);
|
||||
struct sctp_chunk *sctp_make_auth(const struct sctp_association *asoc);
|
||||
struct sctp_chunk *sctp_make_strreset_req(const struct sctp_association *asoc,
|
||||
__u16 stream_num, __u16 *stream_list,
|
||||
__u16 stream_num, __be16 *stream_list,
|
||||
bool out, bool in);
|
||||
struct sctp_chunk *sctp_make_strreset_tsnreq(
|
||||
const struct sctp_association *asoc);
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ struct sctp_ulpevent *sctp_ulpevent_make_sender_dry_event(
|
|||
|
||||
struct sctp_ulpevent *sctp_ulpevent_make_stream_reset_event(
|
||||
const struct sctp_association *asoc, __u16 flags,
|
||||
__u16 stream_num, __u16 *stream_list, gfp_t gfp);
|
||||
__u16 stream_num, __be16 *stream_list, gfp_t gfp);
|
||||
|
||||
struct sctp_ulpevent *sctp_ulpevent_make_assoc_reset_event(
|
||||
const struct sctp_association *asoc, __u16 flags,
|
||||
|
|
|
|||
|
|
@ -74,10 +74,9 @@ struct strparser {
|
|||
u32 unrecov_intr : 1;
|
||||
|
||||
struct sk_buff **skb_nextp;
|
||||
struct timer_list msg_timer;
|
||||
struct sk_buff *skb_head;
|
||||
unsigned int need_bytes;
|
||||
struct delayed_work delayed_work;
|
||||
struct delayed_work msg_timer_work;
|
||||
struct work_struct work;
|
||||
struct strp_stats stats;
|
||||
struct strp_callbacks cb;
|
||||
|
|
|
|||
|
|
@ -816,6 +816,7 @@ struct tcp_skb_cb {
|
|||
__u32 key;
|
||||
__u32 flags;
|
||||
struct bpf_map *map;
|
||||
void *data_end;
|
||||
} bpf;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue