diff options
| author | Thomas Petazzoni <[email protected]> | 2008-10-15 22:05:12 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2008-10-16 11:21:51 -0700 |
| commit | ebf3f09c634906d371f2bfd71b41c7e0c52efe7e (patch) | |
| tree | 4205040f47fba2675dc4c6b1407d15c9d6f8b355 /include/linux | |
| parent | d8273674721faaf84bec2190c0c7a82972b37f73 (diff) | |
Configure out AIO support
This patchs adds the CONFIG_AIO option which allows to remove support
for asynchronous I/O operations, that are not necessarly used by
applications, particularly on embedded devices. As this is a
size-reduction option, it depends on CONFIG_EMBEDDED. It allows to
save ~7 kilobytes of kernel code/data:
text data bss dec hex filename
1115067 119180 217088 1451335 162547 vmlinux
1108025 119048 217088 1444161 160941 vmlinux.new
-7042 -132 0 -7174 -1C06 +/-
This patch has been originally written by Matt Mackall
<[email protected]>, and is part of the Linux Tiny project.
[[email protected]: build fix]
Signed-off-by: Thomas Petazzoni <[email protected]>
Cc: Benjamin LaHaise <[email protected]>
Cc: Zach Brown <[email protected]>
Signed-off-by: Matt Mackall <[email protected]>
Signed-off-by: Randy Dunlap <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/aio.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/aio.h b/include/linux/aio.h index 09b276c35227..f6b8cf99b596 100644 --- a/include/linux/aio.h +++ b/include/linux/aio.h @@ -204,12 +204,21 @@ struct kioctx { /* prototypes */ extern unsigned aio_max_size; +#ifdef CONFIG_AIO extern ssize_t wait_on_sync_kiocb(struct kiocb *iocb); extern int aio_put_req(struct kiocb *iocb); extern void kick_iocb(struct kiocb *iocb); extern int aio_complete(struct kiocb *iocb, long res, long res2); struct mm_struct; extern void exit_aio(struct mm_struct *mm); +#else +static inline ssize_t wait_on_sync_kiocb(struct kiocb *iocb) { return 0; } +static inline int aio_put_req(struct kiocb *iocb) { return 0; } +static inline void kick_iocb(struct kiocb *iocb) { } +static inline int aio_complete(struct kiocb *iocb, long res, long res2) { return 0; } +struct mm_struct; +static inline void exit_aio(struct mm_struct *mm) { } +#endif /* CONFIG_AIO */ #define io_wait_to_kiocb(wait) container_of(wait, struct kiocb, ki_wait) |