diff options
| author | Paul Mundt <lethal@linux-sh.org> | 2009-07-23 05:43:48 -0400 |
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2009-07-23 05:43:48 -0400 |
| commit | a3beddd0aa267986de7b13b6d9cd0e1869fcf1fc (patch) | |
| tree | bfdc42183f5aac21f605a30a4a511298ab91e3c5 /include | |
| parent | 955c9863bb5855a994751843e7066017edc00410 (diff) | |
| parent | 5bdef865eb358b6f3760e25e591ae115e9eeddef (diff) | |
Merge branch 'sh/kfr2r09'
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/interrupt.h | 28 | ||||
| -rw-r--r-- | include/linux/perf_counter.h | 15 | ||||
| -rw-r--r-- | include/linux/sched.h | 3 | ||||
| -rw-r--r-- | include/net/sock.h | 32 | ||||
| -rw-r--r-- | include/net/tcp.h | 5 |
5 files changed, 58 insertions, 25 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 2721f07e9354..35e7df1e9f30 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | #include <linux/irqflags.h> | 14 | #include <linux/irqflags.h> |
| 15 | #include <linux/smp.h> | 15 | #include <linux/smp.h> |
| 16 | #include <linux/percpu.h> | 16 | #include <linux/percpu.h> |
| 17 | #include <linux/hrtimer.h> | ||
| 17 | 18 | ||
| 18 | #include <asm/atomic.h> | 19 | #include <asm/atomic.h> |
| 19 | #include <asm/ptrace.h> | 20 | #include <asm/ptrace.h> |
| @@ -64,11 +65,13 @@ | |||
| 64 | * IRQTF_RUNTHREAD - signals that the interrupt handler thread should run | 65 | * IRQTF_RUNTHREAD - signals that the interrupt handler thread should run |
| 65 | * IRQTF_DIED - handler thread died | 66 | * IRQTF_DIED - handler thread died |
| 66 | * IRQTF_WARNED - warning "IRQ_WAKE_THREAD w/o thread_fn" has been printed | 67 | * IRQTF_WARNED - warning "IRQ_WAKE_THREAD w/o thread_fn" has been printed |
| 68 | * IRQTF_AFFINITY - irq thread is requested to adjust affinity | ||
| 67 | */ | 69 | */ |
| 68 | enum { | 70 | enum { |
| 69 | IRQTF_RUNTHREAD, | 71 | IRQTF_RUNTHREAD, |
| 70 | IRQTF_DIED, | 72 | IRQTF_DIED, |
| 71 | IRQTF_WARNED, | 73 | IRQTF_WARNED, |
| 74 | IRQTF_AFFINITY, | ||
| 72 | }; | 75 | }; |
| 73 | 76 | ||
| 74 | typedef irqreturn_t (*irq_handler_t)(int, void *); | 77 | typedef irqreturn_t (*irq_handler_t)(int, void *); |
| @@ -517,6 +520,31 @@ extern void tasklet_kill_immediate(struct tasklet_struct *t, unsigned int cpu); | |||
| 517 | extern void tasklet_init(struct tasklet_struct *t, | 520 | extern void tasklet_init(struct tasklet_struct *t, |
| 518 | void (*func)(unsigned long), unsigned long data); | 521 | void (*func)(unsigned long), unsigned long data); |
| 519 | 522 | ||
| 523 | struct tasklet_hrtimer { | ||
| 524 | struct hrtimer timer; | ||
| 525 | struct tasklet_struct tasklet; | ||
| 526 | enum hrtimer_restart (*function)(struct hrtimer *); | ||
| 527 | }; | ||
| 528 | |||
| 529 | extern void | ||
| 530 | tasklet_hrtimer_init(struct tasklet_hrtimer *ttimer, | ||
| 531 | enum hrtimer_restart (*function)(struct hrtimer *), | ||
| 532 | clockid_t which_clock, enum hrtimer_mode mode); | ||
| 533 | |||
| 534 | static inline | ||
| 535 | int tasklet_hrtimer_start(struct tasklet_hrtimer *ttimer, ktime_t time, | ||
| 536 | const enum hrtimer_mode mode) | ||
| 537 | { | ||
| 538 | return hrtimer_start(&ttimer->timer, time, mode); | ||
| 539 | } | ||
| 540 | |||
| 541 | static inline | ||
| 542 | void tasklet_hrtimer_cancel(struct tasklet_hrtimer *ttimer) | ||
| 543 | { | ||
| 544 | hrtimer_cancel(&ttimer->timer); | ||
| 545 | tasklet_kill(&ttimer->tasklet); | ||
| 546 | } | ||
| 547 | |||
| 520 | /* | 548 | /* |
| 521 | * Autoprobing for irqs: | 549 | * Autoprobing for irqs: |
| 522 | * | 550 | * |
diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h index 5e970c7d3fd5..bd15d7a5f5ce 100644 --- a/include/linux/perf_counter.h +++ b/include/linux/perf_counter.h | |||
| @@ -120,8 +120,9 @@ enum perf_counter_sample_format { | |||
| 120 | PERF_SAMPLE_ID = 1U << 6, | 120 | PERF_SAMPLE_ID = 1U << 6, |
| 121 | PERF_SAMPLE_CPU = 1U << 7, | 121 | PERF_SAMPLE_CPU = 1U << 7, |
| 122 | PERF_SAMPLE_PERIOD = 1U << 8, | 122 | PERF_SAMPLE_PERIOD = 1U << 8, |
| 123 | PERF_SAMPLE_STREAM_ID = 1U << 9, | ||
| 123 | 124 | ||
| 124 | PERF_SAMPLE_MAX = 1U << 9, /* non-ABI */ | 125 | PERF_SAMPLE_MAX = 1U << 10, /* non-ABI */ |
| 125 | }; | 126 | }; |
| 126 | 127 | ||
| 127 | /* | 128 | /* |
| @@ -312,16 +313,7 @@ enum perf_event_type { | |||
| 312 | * struct perf_event_header header; | 313 | * struct perf_event_header header; |
| 313 | * u64 time; | 314 | * u64 time; |
| 314 | * u64 id; | 315 | * u64 id; |
| 315 | * u64 sample_period; | 316 | * u64 stream_id; |
| 316 | * }; | ||
| 317 | */ | ||
| 318 | PERF_EVENT_PERIOD = 4, | ||
| 319 | |||
| 320 | /* | ||
| 321 | * struct { | ||
| 322 | * struct perf_event_header header; | ||
| 323 | * u64 time; | ||
| 324 | * u64 id; | ||
| 325 | * }; | 317 | * }; |
| 326 | */ | 318 | */ |
| 327 | PERF_EVENT_THROTTLE = 5, | 319 | PERF_EVENT_THROTTLE = 5, |
| @@ -356,6 +348,7 @@ enum perf_event_type { | |||
| 356 | * { u64 time; } && PERF_SAMPLE_TIME | 348 | * { u64 time; } && PERF_SAMPLE_TIME |
| 357 | * { u64 addr; } && PERF_SAMPLE_ADDR | 349 | * { u64 addr; } && PERF_SAMPLE_ADDR |
| 358 | * { u64 id; } && PERF_SAMPLE_ID | 350 | * { u64 id; } && PERF_SAMPLE_ID |
| 351 | * { u64 stream_id;} && PERF_SAMPLE_STREAM_ID | ||
| 359 | * { u32 cpu, res; } && PERF_SAMPLE_CPU | 352 | * { u32 cpu, res; } && PERF_SAMPLE_CPU |
| 360 | * { u64 period; } && PERF_SAMPLE_PERIOD | 353 | * { u64 period; } && PERF_SAMPLE_PERIOD |
| 361 | * | 354 | * |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 16a982e389fb..3ab08e4bb6b8 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -209,7 +209,7 @@ extern unsigned long long time_sync_thresh; | |||
| 209 | ((task->state & (__TASK_STOPPED | __TASK_TRACED)) != 0) | 209 | ((task->state & (__TASK_STOPPED | __TASK_TRACED)) != 0) |
| 210 | #define task_contributes_to_load(task) \ | 210 | #define task_contributes_to_load(task) \ |
| 211 | ((task->state & TASK_UNINTERRUPTIBLE) != 0 && \ | 211 | ((task->state & TASK_UNINTERRUPTIBLE) != 0 && \ |
| 212 | (task->flags & PF_FROZEN) == 0) | 212 | (task->flags & PF_FREEZING) == 0) |
| 213 | 213 | ||
| 214 | #define __set_task_state(tsk, state_value) \ | 214 | #define __set_task_state(tsk, state_value) \ |
| 215 | do { (tsk)->state = (state_value); } while (0) | 215 | do { (tsk)->state = (state_value); } while (0) |
| @@ -1680,6 +1680,7 @@ extern cputime_t task_gtime(struct task_struct *p); | |||
| 1680 | #define PF_MEMALLOC 0x00000800 /* Allocating memory */ | 1680 | #define PF_MEMALLOC 0x00000800 /* Allocating memory */ |
| 1681 | #define PF_FLUSHER 0x00001000 /* responsible for disk writeback */ | 1681 | #define PF_FLUSHER 0x00001000 /* responsible for disk writeback */ |
| 1682 | #define PF_USED_MATH 0x00002000 /* if unset the fpu must be initialized before use */ | 1682 | #define PF_USED_MATH 0x00002000 /* if unset the fpu must be initialized before use */ |
| 1683 | #define PF_FREEZING 0x00004000 /* freeze in progress. do not account to load */ | ||
| 1683 | #define PF_NOFREEZE 0x00008000 /* this thread should not be frozen */ | 1684 | #define PF_NOFREEZE 0x00008000 /* this thread should not be frozen */ |
| 1684 | #define PF_FROZEN 0x00010000 /* frozen for system suspend */ | 1685 | #define PF_FROZEN 0x00010000 /* frozen for system suspend */ |
| 1685 | #define PF_FSTRANS 0x00020000 /* inside a filesystem transaction */ | 1686 | #define PF_FSTRANS 0x00020000 /* inside a filesystem transaction */ |
diff --git a/include/net/sock.h b/include/net/sock.h index 2c0da9239b95..950409dcec3d 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
| @@ -104,15 +104,15 @@ struct net; | |||
| 104 | 104 | ||
| 105 | /** | 105 | /** |
| 106 | * struct sock_common - minimal network layer representation of sockets | 106 | * struct sock_common - minimal network layer representation of sockets |
| 107 | * @skc_node: main hash linkage for various protocol lookup tables | ||
| 108 | * @skc_nulls_node: main hash linkage for UDP/UDP-Lite protocol | ||
| 109 | * @skc_refcnt: reference count | ||
| 110 | * @skc_hash: hash value used with various protocol lookup tables | ||
| 107 | * @skc_family: network address family | 111 | * @skc_family: network address family |
| 108 | * @skc_state: Connection state | 112 | * @skc_state: Connection state |
| 109 | * @skc_reuse: %SO_REUSEADDR setting | 113 | * @skc_reuse: %SO_REUSEADDR setting |
| 110 | * @skc_bound_dev_if: bound device index if != 0 | 114 | * @skc_bound_dev_if: bound device index if != 0 |
| 111 | * @skc_node: main hash linkage for various protocol lookup tables | ||
| 112 | * @skc_nulls_node: main hash linkage for UDP/UDP-Lite protocol | ||
| 113 | * @skc_bind_node: bind hash linkage for various protocol lookup tables | 115 | * @skc_bind_node: bind hash linkage for various protocol lookup tables |
| 114 | * @skc_refcnt: reference count | ||
| 115 | * @skc_hash: hash value used with various protocol lookup tables | ||
| 116 | * @skc_prot: protocol handlers inside a network family | 116 | * @skc_prot: protocol handlers inside a network family |
| 117 | * @skc_net: reference to the network namespace of this socket | 117 | * @skc_net: reference to the network namespace of this socket |
| 118 | * | 118 | * |
| @@ -120,17 +120,21 @@ struct net; | |||
| 120 | * for struct sock and struct inet_timewait_sock. | 120 | * for struct sock and struct inet_timewait_sock. |
| 121 | */ | 121 | */ |
| 122 | struct sock_common { | 122 | struct sock_common { |
| 123 | unsigned short skc_family; | 123 | /* |
| 124 | volatile unsigned char skc_state; | 124 | * first fields are not copied in sock_copy() |
| 125 | unsigned char skc_reuse; | 125 | */ |
| 126 | int skc_bound_dev_if; | ||
| 127 | union { | 126 | union { |
| 128 | struct hlist_node skc_node; | 127 | struct hlist_node skc_node; |
| 129 | struct hlist_nulls_node skc_nulls_node; | 128 | struct hlist_nulls_node skc_nulls_node; |
| 130 | }; | 129 | }; |
| 131 | struct hlist_node skc_bind_node; | ||
| 132 | atomic_t skc_refcnt; | 130 | atomic_t skc_refcnt; |
| 131 | |||
| 133 | unsigned int skc_hash; | 132 | unsigned int skc_hash; |
| 133 | unsigned short skc_family; | ||
| 134 | volatile unsigned char skc_state; | ||
| 135 | unsigned char skc_reuse; | ||
| 136 | int skc_bound_dev_if; | ||
| 137 | struct hlist_node skc_bind_node; | ||
| 134 | struct proto *skc_prot; | 138 | struct proto *skc_prot; |
| 135 | #ifdef CONFIG_NET_NS | 139 | #ifdef CONFIG_NET_NS |
| 136 | struct net *skc_net; | 140 | struct net *skc_net; |
| @@ -208,15 +212,17 @@ struct sock { | |||
| 208 | * don't add nothing before this first member (__sk_common) --acme | 212 | * don't add nothing before this first member (__sk_common) --acme |
| 209 | */ | 213 | */ |
| 210 | struct sock_common __sk_common; | 214 | struct sock_common __sk_common; |
| 215 | #define sk_node __sk_common.skc_node | ||
| 216 | #define sk_nulls_node __sk_common.skc_nulls_node | ||
| 217 | #define sk_refcnt __sk_common.skc_refcnt | ||
| 218 | |||
| 219 | #define sk_copy_start __sk_common.skc_hash | ||
| 220 | #define sk_hash __sk_common.skc_hash | ||
| 211 | #define sk_family __sk_common.skc_family | 221 | #define sk_family __sk_common.skc_family |
| 212 | #define sk_state __sk_common.skc_state | 222 | #define sk_state __sk_common.skc_state |
| 213 | #define sk_reuse __sk_common.skc_reuse | 223 | #define sk_reuse __sk_common.skc_reuse |
| 214 | #define sk_bound_dev_if __sk_common.skc_bound_dev_if | 224 | #define sk_bound_dev_if __sk_common.skc_bound_dev_if |
| 215 | #define sk_node __sk_common.skc_node | ||
| 216 | #define sk_nulls_node __sk_common.skc_nulls_node | ||
| 217 | #define sk_bind_node __sk_common.skc_bind_node | 225 | #define sk_bind_node __sk_common.skc_bind_node |
| 218 | #define sk_refcnt __sk_common.skc_refcnt | ||
| 219 | #define sk_hash __sk_common.skc_hash | ||
| 220 | #define sk_prot __sk_common.skc_prot | 226 | #define sk_prot __sk_common.skc_prot |
| 221 | #define sk_net __sk_common.skc_net | 227 | #define sk_net __sk_common.skc_net |
| 222 | kmemcheck_bitfield_begin(flags); | 228 | kmemcheck_bitfield_begin(flags); |
diff --git a/include/net/tcp.h b/include/net/tcp.h index 19f4150f4d4d..88af84306471 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
| @@ -1425,6 +1425,11 @@ struct tcp_request_sock_ops { | |||
| 1425 | #ifdef CONFIG_TCP_MD5SIG | 1425 | #ifdef CONFIG_TCP_MD5SIG |
| 1426 | struct tcp_md5sig_key *(*md5_lookup) (struct sock *sk, | 1426 | struct tcp_md5sig_key *(*md5_lookup) (struct sock *sk, |
| 1427 | struct request_sock *req); | 1427 | struct request_sock *req); |
| 1428 | int (*calc_md5_hash) (char *location, | ||
| 1429 | struct tcp_md5sig_key *md5, | ||
| 1430 | struct sock *sk, | ||
| 1431 | struct request_sock *req, | ||
| 1432 | struct sk_buff *skb); | ||
| 1428 | #endif | 1433 | #endif |
| 1429 | }; | 1434 | }; |
| 1430 | 1435 | ||
