diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-07 18:35:47 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-07 18:35:47 -0500 |
| commit | 67acd8b4b7a3f1b183ae358e1dfdb8a80e170736 (patch) | |
| tree | 4418034f6e83f954337a17bc6a872fa5ae3c4b5e /include/linux | |
| parent | b13d3720ecd29d5044334fdbbae3432f26802bae (diff) | |
| parent | ad160d23198193135cb2bcc75222e0816b5838c0 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async
* git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async:
async: don't do the initcall stuff post boot
bootchart: improve output based on Dave Jones' feedback
async: make the final inode deletion an asynchronous event
fastboot: Make libata initialization even more async
fastboot: make the libata port scan asynchronous
fastboot: make scsi probes asynchronous
async: Asynchronous function calls to speed up kernel boot
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/async.h | 25 | ||||
| -rw-r--r-- | include/linux/fs.h | 5 |
2 files changed, 30 insertions, 0 deletions
diff --git a/include/linux/async.h b/include/linux/async.h new file mode 100644 index 000000000000..c4ecacd0b327 --- /dev/null +++ b/include/linux/async.h | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | /* | ||
| 2 | * async.h: Asynchronous function calls for boot performance | ||
| 3 | * | ||
| 4 | * (C) Copyright 2009 Intel Corporation | ||
| 5 | * Author: Arjan van de Ven <arjan@linux.intel.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or | ||
| 8 | * modify it under the terms of the GNU General Public License | ||
| 9 | * as published by the Free Software Foundation; version 2 | ||
| 10 | * of the License. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #include <linux/types.h> | ||
| 14 | #include <linux/list.h> | ||
| 15 | |||
| 16 | typedef u64 async_cookie_t; | ||
| 17 | typedef void (async_func_ptr) (void *data, async_cookie_t cookie); | ||
| 18 | |||
| 19 | extern async_cookie_t async_schedule(async_func_ptr *ptr, void *data); | ||
| 20 | extern async_cookie_t async_schedule_special(async_func_ptr *ptr, void *data, struct list_head *list); | ||
| 21 | extern void async_synchronize_full(void); | ||
| 22 | extern void async_synchronize_full_special(struct list_head *list); | ||
| 23 | extern void async_synchronize_cookie(async_cookie_t cookie); | ||
| 24 | extern void async_synchronize_cookie_special(async_cookie_t cookie, struct list_head *list); | ||
| 25 | |||
diff --git a/include/linux/fs.h b/include/linux/fs.h index d7eba77f666e..e38a64d71eff 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -1184,6 +1184,11 @@ struct super_block { | |||
| 1184 | * generic_show_options() | 1184 | * generic_show_options() |
| 1185 | */ | 1185 | */ |
| 1186 | char *s_options; | 1186 | char *s_options; |
| 1187 | |||
| 1188 | /* | ||
| 1189 | * storage for asynchronous operations | ||
| 1190 | */ | ||
| 1191 | struct list_head s_async_list; | ||
| 1187 | }; | 1192 | }; |
| 1188 | 1193 | ||
| 1189 | extern struct timespec current_fs_time(struct super_block *sb); | 1194 | extern struct timespec current_fs_time(struct super_block *sb); |
