Merge yet more updates from Andrew Morton: "A few final bits: - large changes to vmalloc, yielding large performance benefits - tweak the console-flush-on-panic code - a few fixes" * emailed patches from Andrew Morton <akpm@linux-foundation.org>: panic: add an option to replay all the printk message in buffer initramfs: don't free a non-existent initrd fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount mm/compaction.c: correct zone boundary handling when isolating pages from a pageblock mm/vmap: add DEBUG_AUGMENT_LOWEST_MATCH_CHECK macro mm/vmap: add DEBUG_AUGMENT_PROPAGATE_CHECK macro mm/vmalloc.c: keep track of free blocks for vmap allocation
Showing the changes to include (2 of 10 files). Show all
Unified · Split
| @@ -166,6 +166,11 @@ struct console { · 165 unmodified lines | |||
| 166 | extern int console_set_on_cmdline; | 166 | extern int console_set_on_cmdline; |
| 167 | extern struct console *early_console; | 167 | extern struct console *early_console; |
| 168 | 168 | ||
| 169 | enum con_flush_mode { | ||
| 170 | CONSOLE_FLUSH_PENDING, | ||
| 171 | CONSOLE_REPLAY_ALL, | ||
| 172 | }; | ||
| 173 | |||
| 169 | extern int add_preferred_console(char *name, int idx, char *options); | 174 | extern int add_preferred_console(char *name, int idx, char *options); |
| 170 | extern void register_console(struct console *); | 175 | extern void register_console(struct console *); |
| 171 | extern int unregister_console(struct console *); | 176 | extern int unregister_console(struct console *); |
| @@ -175,7 +180,7 @@ extern int console_trylock(void); · 3 unmodified lines | |||
| 175 | extern void console_unlock(void); | 180 | extern void console_unlock(void); |
| 176 | extern void console_conditional_schedule(void); | 181 | extern void console_conditional_schedule(void); |
| 177 | extern void console_unblank(void); | 182 | extern void console_unblank(void); |
| 178 | extern void console_flush_on_panic(void); | 183 | extern void console_flush_on_panic(enum con_flush_mode mode); |
| 179 | extern struct tty_driver *console_device(int *); | 184 | extern struct tty_driver *console_device(int *); |
| 180 | extern void console_stop(struct console *); | 185 | extern void console_stop(struct console *); |
| 181 | extern void console_start(struct console *); | 186 | extern void console_start(struct console *); |
| @@ -50,12 +50,16 @@ struct vm_struct { · 49 unmodified lines | |||
| 50 | struct vmap_area { | 50 | struct vmap_area { |
| 51 | unsigned long va_start; | 51 | unsigned long va_start; |
| 52 | unsigned long va_end; | 52 | unsigned long va_end; |
| 53 | |||
| 54 | /* | ||
| 55 | * Largest available free size in subtree. | ||
| 56 | */ | ||
| 57 | unsigned long subtree_max_size; | ||
| 53 | unsigned long flags; | 58 | unsigned long flags; |
| 54 | struct rb_node rb_node; /* address sorted rbtree */ | 59 | struct rb_node rb_node; /* address sorted rbtree */ |
| 55 | struct list_head list; /* address sorted list */ | 60 | struct list_head list; /* address sorted list */ |
| 56 | struct llist_node purge_list; /* "lazy purge" list */ | 61 | struct llist_node purge_list; /* "lazy purge" list */ |
| 57 | struct vm_struct *vm; | 62 | struct vm_struct *vm; |
| 58 | struct rcu_head rcu_head; | ||
| 59 | }; | 63 | }; |
| 60 | 64 | ||
| 61 | /* | 65 | /* |