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 | |
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')
-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); |