| .. | .. |
|---|
| 5 | 5 | #include <linux/err.h> |
|---|
| 6 | 6 | #include <linux/sched.h> |
|---|
| 7 | 7 | |
|---|
| 8 | +struct mm_struct; |
|---|
| 9 | + |
|---|
| 8 | 10 | __printf(4, 5) |
|---|
| 9 | 11 | struct task_struct *kthread_create_on_node(int (*threadfn)(void *data), |
|---|
| 10 | 12 | void *data, |
|---|
| .. | .. |
|---|
| 58 | 60 | int kthread_stop(struct task_struct *k); |
|---|
| 59 | 61 | bool kthread_should_stop(void); |
|---|
| 60 | 62 | bool kthread_should_park(void); |
|---|
| 63 | +bool __kthread_should_park(struct task_struct *k); |
|---|
| 61 | 64 | bool kthread_freezable_should_stop(bool *was_frozen); |
|---|
| 65 | +void *kthread_func(struct task_struct *k); |
|---|
| 62 | 66 | void *kthread_data(struct task_struct *k); |
|---|
| 63 | 67 | void *kthread_probe_data(struct task_struct *k); |
|---|
| 64 | 68 | int kthread_park(struct task_struct *k); |
|---|
| .. | .. |
|---|
| 166 | 170 | #define kthread_init_delayed_work(dwork, fn) \ |
|---|
| 167 | 171 | do { \ |
|---|
| 168 | 172 | kthread_init_work(&(dwork)->work, (fn)); \ |
|---|
| 169 | | - __init_timer(&(dwork)->timer, \ |
|---|
| 173 | + timer_setup(&(dwork)->timer, \ |
|---|
| 170 | 174 | kthread_delayed_work_timer_fn, \ |
|---|
| 171 | 175 | TIMER_IRQSAFE); \ |
|---|
| 172 | 176 | } while (0) |
|---|
| .. | .. |
|---|
| 200 | 204 | |
|---|
| 201 | 205 | void kthread_destroy_worker(struct kthread_worker *worker); |
|---|
| 202 | 206 | |
|---|
| 207 | +void kthread_use_mm(struct mm_struct *mm); |
|---|
| 208 | +void kthread_unuse_mm(struct mm_struct *mm); |
|---|
| 209 | + |
|---|
| 203 | 210 | struct cgroup_subsys_state; |
|---|
| 204 | 211 | |
|---|
| 205 | 212 | #ifdef CONFIG_BLK_CGROUP |
|---|