diff options
author | Ingo Molnar <mingo@elte.hu> | 2012-03-12 15:44:07 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2012-03-12 15:44:11 -0400 |
commit | 35239e23c66f1614c76739b62a299c3c92d6eb68 (patch) | |
tree | 7b1e068df888ec9a00b43c1dd7517a6490da6a94 /include | |
parent | 3f33ab1c0c741bfab2138c14ba1918a7905a1e8b (diff) | |
parent | 87e24f4b67e68d9fd8df16e0bf9c66d1ad2a2533 (diff) |
Merge branch 'perf/urgent' into perf/core
Merge reason: We are going to queue up a dependent patch.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-generic/iomap.h | 2 | ||||
-rw-r--r-- | include/asm-generic/pci_iomap.h | 2 | ||||
-rw-r--r-- | include/drm/Kbuild | 1 | ||||
-rw-r--r-- | include/drm/exynos_drm.h | 22 | ||||
-rw-r--r-- | include/linux/amba/serial.h | 2 | ||||
-rw-r--r-- | include/linux/dcache.h | 33 | ||||
-rw-r--r-- | include/linux/kmsg_dump.h | 9 | ||||
-rw-r--r-- | include/linux/memcontrol.h | 5 | ||||
-rw-r--r-- | include/linux/of.h | 8 | ||||
-rw-r--r-- | include/linux/percpu.h | 29 | ||||
-rw-r--r-- | include/linux/regset.h | 10 | ||||
-rw-r--r-- | include/linux/sched.h | 3 | ||||
-rw-r--r-- | include/linux/tcp.h | 3 | ||||
-rw-r--r-- | include/net/inetpeer.h | 4 | ||||
-rw-r--r-- | include/net/tcp.h | 5 |
15 files changed, 74 insertions, 64 deletions
diff --git a/include/asm-generic/iomap.h b/include/asm-generic/iomap.h index 8a3d4fde2604..6afd7d6a9899 100644 --- a/include/asm-generic/iomap.h +++ b/include/asm-generic/iomap.h | |||
@@ -70,7 +70,7 @@ extern void ioport_unmap(void __iomem *); | |||
70 | /* Destroy a virtual mapping cookie for a PCI BAR (memory or IO) */ | 70 | /* Destroy a virtual mapping cookie for a PCI BAR (memory or IO) */ |
71 | struct pci_dev; | 71 | struct pci_dev; |
72 | extern void pci_iounmap(struct pci_dev *dev, void __iomem *); | 72 | extern void pci_iounmap(struct pci_dev *dev, void __iomem *); |
73 | #else | 73 | #elif defined(CONFIG_GENERIC_IOMAP) |
74 | struct pci_dev; | 74 | struct pci_dev; |
75 | static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr) | 75 | static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr) |
76 | { } | 76 | { } |
diff --git a/include/asm-generic/pci_iomap.h b/include/asm-generic/pci_iomap.h index e58fcf891370..ce37349860fe 100644 --- a/include/asm-generic/pci_iomap.h +++ b/include/asm-generic/pci_iomap.h | |||
@@ -25,7 +25,7 @@ extern void __iomem *__pci_ioport_map(struct pci_dev *dev, unsigned long port, | |||
25 | #define __pci_ioport_map(dev, port, nr) ioport_map((port), (nr)) | 25 | #define __pci_ioport_map(dev, port, nr) ioport_map((port), (nr)) |
26 | #endif | 26 | #endif |
27 | 27 | ||
28 | #else | 28 | #elif defined(CONFIG_GENERIC_PCI_IOMAP) |
29 | static inline void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max) | 29 | static inline void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max) |
30 | { | 30 | { |
31 | return NULL; | 31 | return NULL; |
diff --git a/include/drm/Kbuild b/include/drm/Kbuild index a5c0e10fd47d..1e38a19d68f6 100644 --- a/include/drm/Kbuild +++ b/include/drm/Kbuild | |||
@@ -2,6 +2,7 @@ header-y += drm.h | |||
2 | header-y += drm_fourcc.h | 2 | header-y += drm_fourcc.h |
3 | header-y += drm_mode.h | 3 | header-y += drm_mode.h |
4 | header-y += drm_sarea.h | 4 | header-y += drm_sarea.h |
5 | header-y += exynos_drm.h | ||
5 | header-y += i810_drm.h | 6 | header-y += i810_drm.h |
6 | header-y += i915_drm.h | 7 | header-y += i915_drm.h |
7 | header-y += mga_drm.h | 8 | header-y += mga_drm.h |
diff --git a/include/drm/exynos_drm.h b/include/drm/exynos_drm.h index 5e120f1c5cd9..1ed3aae893a5 100644 --- a/include/drm/exynos_drm.h +++ b/include/drm/exynos_drm.h | |||
@@ -97,15 +97,30 @@ struct drm_exynos_plane_set_zpos { | |||
97 | #define DRM_IOCTL_EXYNOS_PLANE_SET_ZPOS DRM_IOWR(DRM_COMMAND_BASE + \ | 97 | #define DRM_IOCTL_EXYNOS_PLANE_SET_ZPOS DRM_IOWR(DRM_COMMAND_BASE + \ |
98 | DRM_EXYNOS_PLANE_SET_ZPOS, struct drm_exynos_plane_set_zpos) | 98 | DRM_EXYNOS_PLANE_SET_ZPOS, struct drm_exynos_plane_set_zpos) |
99 | 99 | ||
100 | #ifdef __KERNEL__ | ||
101 | |||
100 | /** | 102 | /** |
101 | * Platform Specific Structure for DRM based FIMD. | 103 | * A structure for lcd panel information. |
102 | * | 104 | * |
103 | * @timing: default video mode for initializing | 105 | * @timing: default video mode for initializing |
106 | * @width_mm: physical size of lcd width. | ||
107 | * @height_mm: physical size of lcd height. | ||
108 | */ | ||
109 | struct exynos_drm_panel_info { | ||
110 | struct fb_videomode timing; | ||
111 | u32 width_mm; | ||
112 | u32 height_mm; | ||
113 | }; | ||
114 | |||
115 | /** | ||
116 | * Platform Specific Structure for DRM based FIMD. | ||
117 | * | ||
118 | * @panel: default panel info for initializing | ||
104 | * @default_win: default window layer number to be used for UI. | 119 | * @default_win: default window layer number to be used for UI. |
105 | * @bpp: default bit per pixel. | 120 | * @bpp: default bit per pixel. |
106 | */ | 121 | */ |
107 | struct exynos_drm_fimd_pdata { | 122 | struct exynos_drm_fimd_pdata { |
108 | struct fb_videomode timing; | 123 | struct exynos_drm_panel_info panel; |
109 | u32 vidcon0; | 124 | u32 vidcon0; |
110 | u32 vidcon1; | 125 | u32 vidcon1; |
111 | unsigned int default_win; | 126 | unsigned int default_win; |
@@ -139,4 +154,5 @@ struct exynos_drm_hdmi_pdata { | |||
139 | unsigned int bpp; | 154 | unsigned int bpp; |
140 | }; | 155 | }; |
141 | 156 | ||
142 | #endif | 157 | #endif /* __KERNEL__ */ |
158 | #endif /* _EXYNOS_DRM_H_ */ | ||
diff --git a/include/linux/amba/serial.h b/include/linux/amba/serial.h index 514ed45c462e..d117b29d1062 100644 --- a/include/linux/amba/serial.h +++ b/include/linux/amba/serial.h | |||
@@ -23,6 +23,8 @@ | |||
23 | #ifndef ASM_ARM_HARDWARE_SERIAL_AMBA_H | 23 | #ifndef ASM_ARM_HARDWARE_SERIAL_AMBA_H |
24 | #define ASM_ARM_HARDWARE_SERIAL_AMBA_H | 24 | #define ASM_ARM_HARDWARE_SERIAL_AMBA_H |
25 | 25 | ||
26 | #include <linux/types.h> | ||
27 | |||
26 | /* ------------------------------------------------------------------------------- | 28 | /* ------------------------------------------------------------------------------- |
27 | * From AMBA UART (PL010) Block Specification | 29 | * From AMBA UART (PL010) Block Specification |
28 | * ------------------------------------------------------------------------------- | 30 | * ------------------------------------------------------------------------------- |
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index d64a55b23afd..ff5f5256d175 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
@@ -47,27 +47,6 @@ struct dentry_stat_t { | |||
47 | }; | 47 | }; |
48 | extern struct dentry_stat_t dentry_stat; | 48 | extern struct dentry_stat_t dentry_stat; |
49 | 49 | ||
50 | /* | ||
51 | * Compare 2 name strings, return 0 if they match, otherwise non-zero. | ||
52 | * The strings are both count bytes long, and count is non-zero. | ||
53 | */ | ||
54 | static inline int dentry_cmp(const unsigned char *cs, size_t scount, | ||
55 | const unsigned char *ct, size_t tcount) | ||
56 | { | ||
57 | int ret; | ||
58 | if (scount != tcount) | ||
59 | return 1; | ||
60 | do { | ||
61 | ret = (*cs != *ct); | ||
62 | if (ret) | ||
63 | break; | ||
64 | cs++; | ||
65 | ct++; | ||
66 | tcount--; | ||
67 | } while (tcount); | ||
68 | return ret; | ||
69 | } | ||
70 | |||
71 | /* Name hashing routines. Initial hash value */ | 50 | /* Name hashing routines. Initial hash value */ |
72 | /* Hash courtesy of the R5 hash in reiserfs modulo sign bits */ | 51 | /* Hash courtesy of the R5 hash in reiserfs modulo sign bits */ |
73 | #define init_name_hash() 0 | 52 | #define init_name_hash() 0 |
@@ -89,14 +68,7 @@ static inline unsigned long end_name_hash(unsigned long hash) | |||
89 | } | 68 | } |
90 | 69 | ||
91 | /* Compute the hash for a name string. */ | 70 | /* Compute the hash for a name string. */ |
92 | static inline unsigned int | 71 | extern unsigned int full_name_hash(const unsigned char *, unsigned int); |
93 | full_name_hash(const unsigned char *name, unsigned int len) | ||
94 | { | ||
95 | unsigned long hash = init_name_hash(); | ||
96 | while (len--) | ||
97 | hash = partial_name_hash(*name++, hash); | ||
98 | return end_name_hash(hash); | ||
99 | } | ||
100 | 72 | ||
101 | /* | 73 | /* |
102 | * Try to keep struct dentry aligned on 64 byte cachelines (this will | 74 | * Try to keep struct dentry aligned on 64 byte cachelines (this will |
@@ -309,7 +281,8 @@ extern struct dentry *d_ancestor(struct dentry *, struct dentry *); | |||
309 | extern struct dentry *d_lookup(struct dentry *, struct qstr *); | 281 | extern struct dentry *d_lookup(struct dentry *, struct qstr *); |
310 | extern struct dentry *d_hash_and_lookup(struct dentry *, struct qstr *); | 282 | extern struct dentry *d_hash_and_lookup(struct dentry *, struct qstr *); |
311 | extern struct dentry *__d_lookup(struct dentry *, struct qstr *); | 283 | extern struct dentry *__d_lookup(struct dentry *, struct qstr *); |
312 | extern struct dentry *__d_lookup_rcu(struct dentry *parent, struct qstr *name, | 284 | extern struct dentry *__d_lookup_rcu(const struct dentry *parent, |
285 | const struct qstr *name, | ||
313 | unsigned *seq, struct inode **inode); | 286 | unsigned *seq, struct inode **inode); |
314 | 287 | ||
315 | /** | 288 | /** |
diff --git a/include/linux/kmsg_dump.h b/include/linux/kmsg_dump.h index fee66317e071..35f7237ec972 100644 --- a/include/linux/kmsg_dump.h +++ b/include/linux/kmsg_dump.h | |||
@@ -15,13 +15,18 @@ | |||
15 | #include <linux/errno.h> | 15 | #include <linux/errno.h> |
16 | #include <linux/list.h> | 16 | #include <linux/list.h> |
17 | 17 | ||
18 | /* | ||
19 | * Keep this list arranged in rough order of priority. Anything listed after | ||
20 | * KMSG_DUMP_OOPS will not be logged by default unless printk.always_kmsg_dump | ||
21 | * is passed to the kernel. | ||
22 | */ | ||
18 | enum kmsg_dump_reason { | 23 | enum kmsg_dump_reason { |
19 | KMSG_DUMP_OOPS, | ||
20 | KMSG_DUMP_PANIC, | 24 | KMSG_DUMP_PANIC, |
25 | KMSG_DUMP_OOPS, | ||
26 | KMSG_DUMP_EMERG, | ||
21 | KMSG_DUMP_RESTART, | 27 | KMSG_DUMP_RESTART, |
22 | KMSG_DUMP_HALT, | 28 | KMSG_DUMP_HALT, |
23 | KMSG_DUMP_POWEROFF, | 29 | KMSG_DUMP_POWEROFF, |
24 | KMSG_DUMP_EMERG, | ||
25 | }; | 30 | }; |
26 | 31 | ||
27 | /** | 32 | /** |
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 4d34356fe644..b80de520670b 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
@@ -129,7 +129,6 @@ extern void mem_cgroup_print_oom_info(struct mem_cgroup *memcg, | |||
129 | extern void mem_cgroup_replace_page_cache(struct page *oldpage, | 129 | extern void mem_cgroup_replace_page_cache(struct page *oldpage, |
130 | struct page *newpage); | 130 | struct page *newpage); |
131 | 131 | ||
132 | extern void mem_cgroup_reset_owner(struct page *page); | ||
133 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP | 132 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP |
134 | extern int do_swap_account; | 133 | extern int do_swap_account; |
135 | #endif | 134 | #endif |
@@ -392,10 +391,6 @@ static inline void mem_cgroup_replace_page_cache(struct page *oldpage, | |||
392 | struct page *newpage) | 391 | struct page *newpage) |
393 | { | 392 | { |
394 | } | 393 | } |
395 | |||
396 | static inline void mem_cgroup_reset_owner(struct page *page) | ||
397 | { | ||
398 | } | ||
399 | #endif /* CONFIG_CGROUP_MEM_CONT */ | 394 | #endif /* CONFIG_CGROUP_MEM_CONT */ |
400 | 395 | ||
401 | #if !defined(CONFIG_CGROUP_MEM_RES_CTLR) || !defined(CONFIG_DEBUG_VM) | 396 | #if !defined(CONFIG_CGROUP_MEM_RES_CTLR) || !defined(CONFIG_DEBUG_VM) |
diff --git a/include/linux/of.h b/include/linux/of.h index a75a831e2057..92cf6ad35e0e 100644 --- a/include/linux/of.h +++ b/include/linux/of.h | |||
@@ -281,6 +281,14 @@ static inline struct property *of_find_property(const struct device_node *np, | |||
281 | return NULL; | 281 | return NULL; |
282 | } | 282 | } |
283 | 283 | ||
284 | static inline struct device_node *of_find_compatible_node( | ||
285 | struct device_node *from, | ||
286 | const char *type, | ||
287 | const char *compat) | ||
288 | { | ||
289 | return NULL; | ||
290 | } | ||
291 | |||
284 | static inline int of_property_read_u32_array(const struct device_node *np, | 292 | static inline int of_property_read_u32_array(const struct device_node *np, |
285 | const char *propname, | 293 | const char *propname, |
286 | u32 *out_values, size_t sz) | 294 | u32 *out_values, size_t sz) |
diff --git a/include/linux/percpu.h b/include/linux/percpu.h index 32cd1f67462e..21638ae14e07 100644 --- a/include/linux/percpu.h +++ b/include/linux/percpu.h | |||
@@ -348,9 +348,9 @@ do { \ | |||
348 | #define _this_cpu_generic_to_op(pcp, val, op) \ | 348 | #define _this_cpu_generic_to_op(pcp, val, op) \ |
349 | do { \ | 349 | do { \ |
350 | unsigned long flags; \ | 350 | unsigned long flags; \ |
351 | local_irq_save(flags); \ | 351 | raw_local_irq_save(flags); \ |
352 | *__this_cpu_ptr(&(pcp)) op val; \ | 352 | *__this_cpu_ptr(&(pcp)) op val; \ |
353 | local_irq_restore(flags); \ | 353 | raw_local_irq_restore(flags); \ |
354 | } while (0) | 354 | } while (0) |
355 | 355 | ||
356 | #ifndef this_cpu_write | 356 | #ifndef this_cpu_write |
@@ -449,10 +449,10 @@ do { \ | |||
449 | ({ \ | 449 | ({ \ |
450 | typeof(pcp) ret__; \ | 450 | typeof(pcp) ret__; \ |
451 | unsigned long flags; \ | 451 | unsigned long flags; \ |
452 | local_irq_save(flags); \ | 452 | raw_local_irq_save(flags); \ |
453 | __this_cpu_add(pcp, val); \ | 453 | __this_cpu_add(pcp, val); \ |
454 | ret__ = __this_cpu_read(pcp); \ | 454 | ret__ = __this_cpu_read(pcp); \ |
455 | local_irq_restore(flags); \ | 455 | raw_local_irq_restore(flags); \ |
456 | ret__; \ | 456 | ret__; \ |
457 | }) | 457 | }) |
458 | 458 | ||
@@ -479,10 +479,10 @@ do { \ | |||
479 | #define _this_cpu_generic_xchg(pcp, nval) \ | 479 | #define _this_cpu_generic_xchg(pcp, nval) \ |
480 | ({ typeof(pcp) ret__; \ | 480 | ({ typeof(pcp) ret__; \ |
481 | unsigned long flags; \ | 481 | unsigned long flags; \ |
482 | local_irq_save(flags); \ | 482 | raw_local_irq_save(flags); \ |
483 | ret__ = __this_cpu_read(pcp); \ | 483 | ret__ = __this_cpu_read(pcp); \ |
484 | __this_cpu_write(pcp, nval); \ | 484 | __this_cpu_write(pcp, nval); \ |
485 | local_irq_restore(flags); \ | 485 | raw_local_irq_restore(flags); \ |
486 | ret__; \ | 486 | ret__; \ |
487 | }) | 487 | }) |
488 | 488 | ||
@@ -507,11 +507,11 @@ do { \ | |||
507 | ({ \ | 507 | ({ \ |
508 | typeof(pcp) ret__; \ | 508 | typeof(pcp) ret__; \ |
509 | unsigned long flags; \ | 509 | unsigned long flags; \ |
510 | local_irq_save(flags); \ | 510 | raw_local_irq_save(flags); \ |
511 | ret__ = __this_cpu_read(pcp); \ | 511 | ret__ = __this_cpu_read(pcp); \ |
512 | if (ret__ == (oval)) \ | 512 | if (ret__ == (oval)) \ |
513 | __this_cpu_write(pcp, nval); \ | 513 | __this_cpu_write(pcp, nval); \ |
514 | local_irq_restore(flags); \ | 514 | raw_local_irq_restore(flags); \ |
515 | ret__; \ | 515 | ret__; \ |
516 | }) | 516 | }) |
517 | 517 | ||
@@ -544,10 +544,10 @@ do { \ | |||
544 | ({ \ | 544 | ({ \ |
545 | int ret__; \ | 545 | int ret__; \ |
546 | unsigned long flags; \ | 546 | unsigned long flags; \ |
547 | local_irq_save(flags); \ | 547 | raw_local_irq_save(flags); \ |
548 | ret__ = __this_cpu_generic_cmpxchg_double(pcp1, pcp2, \ | 548 | ret__ = __this_cpu_generic_cmpxchg_double(pcp1, pcp2, \ |
549 | oval1, oval2, nval1, nval2); \ | 549 | oval1, oval2, nval1, nval2); \ |
550 | local_irq_restore(flags); \ | 550 | raw_local_irq_restore(flags); \ |
551 | ret__; \ | 551 | ret__; \ |
552 | }) | 552 | }) |
553 | 553 | ||
@@ -718,12 +718,13 @@ do { \ | |||
718 | # ifndef __this_cpu_add_return_8 | 718 | # ifndef __this_cpu_add_return_8 |
719 | # define __this_cpu_add_return_8(pcp, val) __this_cpu_generic_add_return(pcp, val) | 719 | # define __this_cpu_add_return_8(pcp, val) __this_cpu_generic_add_return(pcp, val) |
720 | # endif | 720 | # endif |
721 | # define __this_cpu_add_return(pcp, val) __pcpu_size_call_return2(this_cpu_add_return_, pcp, val) | 721 | # define __this_cpu_add_return(pcp, val) \ |
722 | __pcpu_size_call_return2(__this_cpu_add_return_, pcp, val) | ||
722 | #endif | 723 | #endif |
723 | 724 | ||
724 | #define __this_cpu_sub_return(pcp, val) this_cpu_add_return(pcp, -(val)) | 725 | #define __this_cpu_sub_return(pcp, val) __this_cpu_add_return(pcp, -(val)) |
725 | #define __this_cpu_inc_return(pcp) this_cpu_add_return(pcp, 1) | 726 | #define __this_cpu_inc_return(pcp) __this_cpu_add_return(pcp, 1) |
726 | #define __this_cpu_dec_return(pcp) this_cpu_add_return(pcp, -1) | 727 | #define __this_cpu_dec_return(pcp) __this_cpu_add_return(pcp, -1) |
727 | 728 | ||
728 | #define __this_cpu_generic_xchg(pcp, nval) \ | 729 | #define __this_cpu_generic_xchg(pcp, nval) \ |
729 | ({ typeof(pcp) ret__; \ | 730 | ({ typeof(pcp) ret__; \ |
diff --git a/include/linux/regset.h b/include/linux/regset.h index 8abee6556223..686f37327a49 100644 --- a/include/linux/regset.h +++ b/include/linux/regset.h | |||
@@ -335,8 +335,11 @@ static inline int copy_regset_to_user(struct task_struct *target, | |||
335 | { | 335 | { |
336 | const struct user_regset *regset = &view->regsets[setno]; | 336 | const struct user_regset *regset = &view->regsets[setno]; |
337 | 337 | ||
338 | if (!regset->get) | ||
339 | return -EOPNOTSUPP; | ||
340 | |||
338 | if (!access_ok(VERIFY_WRITE, data, size)) | 341 | if (!access_ok(VERIFY_WRITE, data, size)) |
339 | return -EIO; | 342 | return -EFAULT; |
340 | 343 | ||
341 | return regset->get(target, regset, offset, size, NULL, data); | 344 | return regset->get(target, regset, offset, size, NULL, data); |
342 | } | 345 | } |
@@ -358,8 +361,11 @@ static inline int copy_regset_from_user(struct task_struct *target, | |||
358 | { | 361 | { |
359 | const struct user_regset *regset = &view->regsets[setno]; | 362 | const struct user_regset *regset = &view->regsets[setno]; |
360 | 363 | ||
364 | if (!regset->set) | ||
365 | return -EOPNOTSUPP; | ||
366 | |||
361 | if (!access_ok(VERIFY_READ, data, size)) | 367 | if (!access_ok(VERIFY_READ, data, size)) |
362 | return -EIO; | 368 | return -EFAULT; |
363 | 369 | ||
364 | return regset->set(target, regset, offset, size, NULL, data); | 370 | return regset->set(target, regset, offset, size, NULL, data); |
365 | } | 371 | } |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 7d379a6bfd88..0657368bd78f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1777,7 +1777,6 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * | |||
1777 | /* | 1777 | /* |
1778 | * Per process flags | 1778 | * Per process flags |
1779 | */ | 1779 | */ |
1780 | #define PF_STARTING 0x00000002 /* being created */ | ||
1781 | #define PF_EXITING 0x00000004 /* getting shut down */ | 1780 | #define PF_EXITING 0x00000004 /* getting shut down */ |
1782 | #define PF_EXITPIDONE 0x00000008 /* pi exit done on shut down */ | 1781 | #define PF_EXITPIDONE 0x00000008 /* pi exit done on shut down */ |
1783 | #define PF_VCPU 0x00000010 /* I'm a virtual CPU */ | 1782 | #define PF_VCPU 0x00000010 /* I'm a virtual CPU */ |
@@ -2371,7 +2370,7 @@ static inline int thread_group_empty(struct task_struct *p) | |||
2371 | * Protects ->fs, ->files, ->mm, ->group_info, ->comm, keyring | 2370 | * Protects ->fs, ->files, ->mm, ->group_info, ->comm, keyring |
2372 | * subscriptions and synchronises with wait4(). Also used in procfs. Also | 2371 | * subscriptions and synchronises with wait4(). Also used in procfs. Also |
2373 | * pins the final release of task.io_context. Also protects ->cpuset and | 2372 | * pins the final release of task.io_context. Also protects ->cpuset and |
2374 | * ->cgroup.subsys[]. | 2373 | * ->cgroup.subsys[]. And ->vfork_done. |
2375 | * | 2374 | * |
2376 | * Nests both inside and outside of read_lock(&tasklist_lock). | 2375 | * Nests both inside and outside of read_lock(&tasklist_lock). |
2377 | * It must not be nested with write_lock_irq(&tasklist_lock), | 2376 | * It must not be nested with write_lock_irq(&tasklist_lock), |
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index 46a85c9e1f25..3c7ffdb40dc6 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
@@ -412,7 +412,8 @@ struct tcp_sock { | |||
412 | 412 | ||
413 | struct tcp_sack_block recv_sack_cache[4]; | 413 | struct tcp_sack_block recv_sack_cache[4]; |
414 | 414 | ||
415 | struct sk_buff *highest_sack; /* highest skb with SACK received | 415 | struct sk_buff *highest_sack; /* skb just after the highest |
416 | * skb with SACKed bit set | ||
416 | * (validity guaranteed only if | 417 | * (validity guaranteed only if |
417 | * sacked_out > 0) | 418 | * sacked_out > 0) |
418 | */ | 419 | */ |
diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h index 06b795dd5906..b94765e38e80 100644 --- a/include/net/inetpeer.h +++ b/include/net/inetpeer.h | |||
@@ -35,12 +35,12 @@ struct inet_peer { | |||
35 | 35 | ||
36 | u32 metrics[RTAX_MAX]; | 36 | u32 metrics[RTAX_MAX]; |
37 | u32 rate_tokens; /* rate limiting for ICMP */ | 37 | u32 rate_tokens; /* rate limiting for ICMP */ |
38 | int redirect_genid; | ||
39 | unsigned long rate_last; | 38 | unsigned long rate_last; |
40 | unsigned long pmtu_expires; | 39 | unsigned long pmtu_expires; |
41 | u32 pmtu_orig; | 40 | u32 pmtu_orig; |
42 | u32 pmtu_learned; | 41 | u32 pmtu_learned; |
43 | struct inetpeer_addr_base redirect_learned; | 42 | struct inetpeer_addr_base redirect_learned; |
43 | struct list_head gc_list; | ||
44 | /* | 44 | /* |
45 | * Once inet_peer is queued for deletion (refcnt == -1), following fields | 45 | * Once inet_peer is queued for deletion (refcnt == -1), following fields |
46 | * are not available: rid, ip_id_count, tcp_ts, tcp_ts_stamp | 46 | * are not available: rid, ip_id_count, tcp_ts, tcp_ts_stamp |
@@ -96,6 +96,8 @@ static inline struct inet_peer *inet_getpeer_v6(const struct in6_addr *v6daddr, | |||
96 | extern void inet_putpeer(struct inet_peer *p); | 96 | extern void inet_putpeer(struct inet_peer *p); |
97 | extern bool inet_peer_xrlim_allow(struct inet_peer *peer, int timeout); | 97 | extern bool inet_peer_xrlim_allow(struct inet_peer *peer, int timeout); |
98 | 98 | ||
99 | extern void inetpeer_invalidate_tree(int family); | ||
100 | |||
99 | /* | 101 | /* |
100 | * temporary check to make sure we dont access rid, ip_id_count, tcp_ts, | 102 | * temporary check to make sure we dont access rid, ip_id_count, tcp_ts, |
101 | * tcp_ts_stamp if no refcount is taken on inet_peer | 103 | * tcp_ts_stamp if no refcount is taken on inet_peer |
diff --git a/include/net/tcp.h b/include/net/tcp.h index 42c29bfbcee3..2d80c291fffb 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -1364,8 +1364,9 @@ static inline void tcp_push_pending_frames(struct sock *sk) | |||
1364 | } | 1364 | } |
1365 | } | 1365 | } |
1366 | 1366 | ||
1367 | /* Start sequence of the highest skb with SACKed bit, valid only if | 1367 | /* Start sequence of the skb just after the highest skb with SACKed |
1368 | * sacked > 0 or when the caller has ensured validity by itself. | 1368 | * bit, valid only if sacked_out > 0 or when the caller has ensured |
1369 | * validity by itself. | ||
1369 | */ | 1370 | */ |
1370 | static inline u32 tcp_highest_sack_seq(struct tcp_sock *tp) | 1371 | static inline u32 tcp_highest_sack_seq(struct tcp_sock *tp) |
1371 | { | 1372 | { |