diff options
author | Ankita Garg <ankita@in.ibm.com> | 2006-11-06 02:52:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-11-06 04:46:23 -0500 |
commit | 18a61e4adbc4dbe209e0d154df5cd37ce17dc314 (patch) | |
tree | d2c03c2f4fb6d09c415192564ea8d89daa6ac0f2 /drivers/misc/lkdtm.c | |
parent | 4b96b1a10cb00c867103b21f0f2a6c91b705db11 (diff) |
[PATCH] Fix for LKDTM MEM_SWAPOUT crashpoint
The MEM_SWAPOUT crashpoint in LKDTM could be broken as some compilers
inline the call to shrink_page_list() and symbol lookup for this function
name fails. Replacing it with the function shrink_inactive_list(), which
is the only function calling shrink_page_list().
Signed-off-by: Ankita Garg <ankita@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/misc/lkdtm.c')
-rw-r--r-- | drivers/misc/lkdtm.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/misc/lkdtm.c b/drivers/misc/lkdtm.c index 46a9c35943bd..db9d7df75ae0 100644 --- a/drivers/misc/lkdtm.c +++ b/drivers/misc/lkdtm.c | |||
@@ -157,8 +157,8 @@ void jp_ll_rw_block(int rw, int nr, struct buffer_head *bhs[]) | |||
157 | 157 | ||
158 | struct scan_control; | 158 | struct scan_control; |
159 | 159 | ||
160 | unsigned long jp_shrink_page_list(struct list_head *page_list, | 160 | unsigned long jp_shrink_inactive_list(unsigned long max_scan, |
161 | struct scan_control *sc) | 161 | struct zone *zone, struct scan_control *sc) |
162 | { | 162 | { |
163 | lkdtm_handler(); | 163 | lkdtm_handler(); |
164 | jprobe_return(); | 164 | jprobe_return(); |
@@ -297,8 +297,8 @@ int lkdtm_module_init(void) | |||
297 | lkdtm.entry = (kprobe_opcode_t*) jp_ll_rw_block; | 297 | lkdtm.entry = (kprobe_opcode_t*) jp_ll_rw_block; |
298 | break; | 298 | break; |
299 | case MEM_SWAPOUT: | 299 | case MEM_SWAPOUT: |
300 | lkdtm.kp.symbol_name = "shrink_page_list"; | 300 | lkdtm.kp.symbol_name = "shrink_inactive_list"; |
301 | lkdtm.entry = (kprobe_opcode_t*) jp_shrink_page_list; | 301 | lkdtm.entry = (kprobe_opcode_t*) jp_shrink_inactive_list; |
302 | break; | 302 | break; |
303 | case TIMERADD: | 303 | case TIMERADD: |
304 | lkdtm.kp.symbol_name = "hrtimer_start"; | 304 | lkdtm.kp.symbol_name = "hrtimer_start"; |