aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-07-23 19:31:37 -0400
committerDavid S. Miller <davem@davemloft.net>2016-07-24 00:53:32 -0400
commitde0ba9a0d8909996f9e293d311c2cc459fa77d67 (patch)
tree199214afc477824bf431d11d08834ff7555c994b /include/linux
parentd95a93a9b71677a43f967a1b7986decab84b7765 (diff)
parent107df03203bb66de56e2caec3bde6d22b55480c5 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Just several instances of overlapping changes. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/bcma/bcma.h1
-rw-r--r--include/linux/filter.h6
-rw-r--r--include/linux/huge_mm.h4
-rw-r--r--include/linux/memcontrol.h25
-rw-r--r--include/linux/netdevice.h7
-rw-r--r--include/linux/posix_acl.h6
-rw-r--r--include/linux/radix-tree.h1
-rw-r--r--include/linux/rmap.h2
8 files changed, 29 insertions, 23 deletions
diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h
index e6b41f42602b..3db25df396cb 100644
--- a/include/linux/bcma/bcma.h
+++ b/include/linux/bcma/bcma.h
@@ -159,6 +159,7 @@ struct bcma_host_ops {
159#define BCMA_CORE_DEFAULT 0xFFF 159#define BCMA_CORE_DEFAULT 0xFFF
160 160
161#define BCMA_MAX_NR_CORES 16 161#define BCMA_MAX_NR_CORES 16
162#define BCMA_CORE_SIZE 0x1000
162 163
163/* Chip IDs of PCIe devices */ 164/* Chip IDs of PCIe devices */
164#define BCMA_CHIP_ID_BCM4313 0x4313 165#define BCMA_CHIP_ID_BCM4313 0x4313
diff --git a/include/linux/filter.h b/include/linux/filter.h
index 15d816a8b755..a16439b99fd9 100644
--- a/include/linux/filter.h
+++ b/include/linux/filter.h
@@ -484,7 +484,11 @@ static inline void bpf_prog_unlock_ro(struct bpf_prog *fp)
484} 484}
485#endif /* CONFIG_DEBUG_SET_MODULE_RONX */ 485#endif /* CONFIG_DEBUG_SET_MODULE_RONX */
486 486
487int sk_filter(struct sock *sk, struct sk_buff *skb); 487int sk_filter_trim_cap(struct sock *sk, struct sk_buff *skb, unsigned int cap);
488static inline int sk_filter(struct sock *sk, struct sk_buff *skb)
489{
490 return sk_filter_trim_cap(sk, skb, 1);
491}
488 492
489struct bpf_prog *bpf_prog_select_runtime(struct bpf_prog *fp, int *err); 493struct bpf_prog *bpf_prog_select_runtime(struct bpf_prog *fp, int *err);
490void bpf_prog_free(struct bpf_prog *fp); 494void bpf_prog_free(struct bpf_prog *fp);
diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h
index 419fb9e03447..f0a7a0320300 100644
--- a/include/linux/huge_mm.h
+++ b/include/linux/huge_mm.h
@@ -94,7 +94,7 @@ static inline int split_huge_page(struct page *page)
94void deferred_split_huge_page(struct page *page); 94void deferred_split_huge_page(struct page *page);
95 95
96void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, 96void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
97 unsigned long address, bool freeze); 97 unsigned long address, bool freeze, struct page *page);
98 98
99#define split_huge_pmd(__vma, __pmd, __address) \ 99#define split_huge_pmd(__vma, __pmd, __address) \
100 do { \ 100 do { \
@@ -102,7 +102,7 @@ void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
102 if (pmd_trans_huge(*____pmd) \ 102 if (pmd_trans_huge(*____pmd) \
103 || pmd_devmap(*____pmd)) \ 103 || pmd_devmap(*____pmd)) \
104 __split_huge_pmd(__vma, __pmd, __address, \ 104 __split_huge_pmd(__vma, __pmd, __address, \
105 false); \ 105 false, NULL); \
106 } while (0) 106 } while (0)
107 107
108 108
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
index a805474df4ab..56e6069d2452 100644
--- a/include/linux/memcontrol.h
+++ b/include/linux/memcontrol.h
@@ -97,6 +97,11 @@ enum mem_cgroup_events_target {
97#define MEM_CGROUP_ID_SHIFT 16 97#define MEM_CGROUP_ID_SHIFT 16
98#define MEM_CGROUP_ID_MAX USHRT_MAX 98#define MEM_CGROUP_ID_MAX USHRT_MAX
99 99
100struct mem_cgroup_id {
101 int id;
102 atomic_t ref;
103};
104
100struct mem_cgroup_stat_cpu { 105struct mem_cgroup_stat_cpu {
101 long count[MEMCG_NR_STAT]; 106 long count[MEMCG_NR_STAT];
102 unsigned long events[MEMCG_NR_EVENTS]; 107 unsigned long events[MEMCG_NR_EVENTS];
@@ -172,6 +177,9 @@ enum memcg_kmem_state {
172struct mem_cgroup { 177struct mem_cgroup {
173 struct cgroup_subsys_state css; 178 struct cgroup_subsys_state css;
174 179
180 /* Private memcg ID. Used to ID objects that outlive the cgroup */
181 struct mem_cgroup_id id;
182
175 /* Accounted resources */ 183 /* Accounted resources */
176 struct page_counter memory; 184 struct page_counter memory;
177 struct page_counter swap; 185 struct page_counter swap;
@@ -330,22 +338,9 @@ static inline unsigned short mem_cgroup_id(struct mem_cgroup *memcg)
330 if (mem_cgroup_disabled()) 338 if (mem_cgroup_disabled())
331 return 0; 339 return 0;
332 340
333 return memcg->css.id; 341 return memcg->id.id;
334}
335
336/**
337 * mem_cgroup_from_id - look up a memcg from an id
338 * @id: the id to look up
339 *
340 * Caller must hold rcu_read_lock() and use css_tryget() as necessary.
341 */
342static inline struct mem_cgroup *mem_cgroup_from_id(unsigned short id)
343{
344 struct cgroup_subsys_state *css;
345
346 css = css_from_id(id, &memory_cgrp_subsys);
347 return mem_cgroup_from_css(css);
348} 342}
343struct mem_cgroup *mem_cgroup_from_id(unsigned short id);
349 344
350/** 345/**
351 * parent_mem_cgroup - find the accounting parent of a memcg 346 * parent_mem_cgroup - find the accounting parent of a memcg
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index fab9a1c2a2ac..43c749b1b619 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -4209,6 +4209,13 @@ static inline void netif_keep_dst(struct net_device *dev)
4209 dev->priv_flags &= ~(IFF_XMIT_DST_RELEASE | IFF_XMIT_DST_RELEASE_PERM); 4209 dev->priv_flags &= ~(IFF_XMIT_DST_RELEASE | IFF_XMIT_DST_RELEASE_PERM);
4210} 4210}
4211 4211
4212/* return true if dev can't cope with mtu frames that need vlan tag insertion */
4213static inline bool netif_reduces_vlan_mtu(struct net_device *dev)
4214{
4215 /* TODO: reserve and use an additional IFF bit, if we get more users */
4216 return dev->priv_flags & IFF_MACSEC;
4217}
4218
4212extern struct pernet_operations __net_initdata loopback_net_ops; 4219extern struct pernet_operations __net_initdata loopback_net_ops;
4213 4220
4214/* Logging, debugging and troubleshooting/diagnostic helpers. */ 4221/* Logging, debugging and troubleshooting/diagnostic helpers. */
diff --git a/include/linux/posix_acl.h b/include/linux/posix_acl.h
index 5b5a80cc5926..c818772d9f9d 100644
--- a/include/linux/posix_acl.h
+++ b/include/linux/posix_acl.h
@@ -43,10 +43,8 @@ struct posix_acl_entry {
43}; 43};
44 44
45struct posix_acl { 45struct posix_acl {
46 union { 46 atomic_t a_refcount;
47 atomic_t a_refcount; 47 struct rcu_head a_rcu;
48 struct rcu_head a_rcu;
49 };
50 unsigned int a_count; 48 unsigned int a_count;
51 struct posix_acl_entry a_entries[0]; 49 struct posix_acl_entry a_entries[0];
52}; 50};
diff --git a/include/linux/radix-tree.h b/include/linux/radix-tree.h
index cb4b7e8cee81..eca6f626c16e 100644
--- a/include/linux/radix-tree.h
+++ b/include/linux/radix-tree.h
@@ -407,6 +407,7 @@ static inline __must_check
407void **radix_tree_iter_retry(struct radix_tree_iter *iter) 407void **radix_tree_iter_retry(struct radix_tree_iter *iter)
408{ 408{
409 iter->next_index = iter->index; 409 iter->next_index = iter->index;
410 iter->tags = 0;
410 return NULL; 411 return NULL;
411} 412}
412 413
diff --git a/include/linux/rmap.h b/include/linux/rmap.h
index 49eb4f8ebac9..2b0fad83683f 100644
--- a/include/linux/rmap.h
+++ b/include/linux/rmap.h
@@ -158,7 +158,7 @@ struct anon_vma *page_get_anon_vma(struct page *page);
158/* 158/*
159 * rmap interfaces called when adding or removing pte of page 159 * rmap interfaces called when adding or removing pte of page
160 */ 160 */
161void page_move_anon_rmap(struct page *, struct vm_area_struct *, unsigned long); 161void page_move_anon_rmap(struct page *, struct vm_area_struct *);
162void page_add_anon_rmap(struct page *, struct vm_area_struct *, 162void page_add_anon_rmap(struct page *, struct vm_area_struct *,
163 unsigned long, bool); 163 unsigned long, bool);
164void do_page_add_anon_rmap(struct page *, struct vm_area_struct *, 164void do_page_add_anon_rmap(struct page *, struct vm_area_struct *,