aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-01-07 18:35:47 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-07 18:35:47 -0500
commit67acd8b4b7a3f1b183ae358e1dfdb8a80e170736 (patch)
tree4418034f6e83f954337a17bc6a872fa5ae3c4b5e /include
parentb13d3720ecd29d5044334fdbbae3432f26802bae (diff)
parentad160d23198193135cb2bcc75222e0816b5838c0 (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.h25
-rw-r--r--include/linux/fs.h5
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
16typedef u64 async_cookie_t;
17typedef void (async_func_ptr) (void *data, async_cookie_t cookie);
18
19extern async_cookie_t async_schedule(async_func_ptr *ptr, void *data);
20extern async_cookie_t async_schedule_special(async_func_ptr *ptr, void *data, struct list_head *list);
21extern void async_synchronize_full(void);
22extern void async_synchronize_full_special(struct list_head *list);
23extern void async_synchronize_cookie(async_cookie_t cookie);
24extern 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
1189extern struct timespec current_fs_time(struct super_block *sb); 1194extern struct timespec current_fs_time(struct super_block *sb);