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 | 166 | extern int console_set_on_cmdline; |
| 167 | 167 | extern struct console *early_console; |
| 168 | 168 | |
| 169 | +enum con_flush_mode { | |
| 170 | + CONSOLE_FLUSH_PENDING, | |
| 171 | + CONSOLE_REPLAY_ALL, | |
| 172 | +}; | |
| 173 | + | |
| 169 | 174 | extern int add_preferred_console(char *name, int idx, char *options); |
| 170 | 175 | extern void register_console(struct console *); |
| 171 | 176 | extern int unregister_console(struct console *); |
| @@ -175,7 +180,7 @@ extern int console_trylock(void); · 3 unmodified lines | ||
| 175 | 180 | extern void console_unlock(void); |
| 176 | 181 | extern void console_conditional_schedule(void); |
| 177 | 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 | 184 | extern struct tty_driver *console_device(int *); |
| 180 | 185 | extern void console_stop(struct console *); |
| 181 | 186 | extern void console_start(struct console *); |
| @@ -50,12 +50,16 @@ struct vm_struct { · 49 unmodified lines | ||
| 50 | 50 | struct vmap_area { |
| 51 | 51 | unsigned long va_start; |
| 52 | 52 | unsigned long va_end; |
| 53 | + | |
| 54 | + /* | |
| 55 | + * Largest available free size in subtree. | |
| 56 | + */ | |
| 57 | + unsigned long subtree_max_size; | |
| 53 | 58 | unsigned long flags; |
| 54 | 59 | struct rb_node rb_node; /* address sorted rbtree */ |
| 55 | 60 | struct list_head list; /* address sorted list */ |
| 56 | 61 | struct llist_node purge_list; /* "lazy purge" list */ |
| 57 | 62 | struct vm_struct *vm; |
| 58 | − struct rcu_head rcu_head; | |
| 59 | 63 | }; |
| 60 | 64 | |
| 61 | 65 | /* |