| DESCRIPTION This patch prevents a variety of panics
that may occur during low memory conditions when an error occurs
during a cfs write. The panics are:
- Kernel Memory Fault in simple_lock via cfs_rwvp_cache
- Unaligned Access in msfs_putpage
- Assert Failed: brp->br_allocated>=0
- PANIC: pg_hold - underflow
- Kernel Memory Fault in cfs_delay_adjust
The stack traces of the panicing threads are:
KMF - simple_lock via cfs_rwvp_cache
4 panic
5 trap
6 _XentMM
7 simple_lock
8 cfs_rwvp_cache
9 cfs_cachewrite
10 cfs_write
11 vn_write
12 rwuio
13 write
14 syscall
15 _Xsyscall
UNA
4 panic
5 afault_trap
6 _XentUna
7 msfs_putpage
8 ubc_msync
9 cfs_ubc_msync
10 ubc_msync
11 u_map_control
12 msync
13 syscall
14 _Xsyscall
ASSERT FAILED
4 panic
5 cfsdb_assert
6 cfscall_writepages
7 cfs_do_bio
8 cfs_strategy
9 cfs_rwblk
10 cfs_rwvp_cache
11 cfs_cachewrite
12 cfs_write
13 vn_write
14 rwuio
15 write
16 syscall
17 _Xsyscall
PG_HOLD UNDERFLOW
1 panic
2 ubc_page_release
3 cfs_rwvp_cache
4 cfs_cachewrite
5 cfs_write
6 vn_pwrite
7 prwuio
8 pwrite
9 syscall
10 _Xsyscall
KMF - in cfs_delay_adjust
1 panic
2 trap
3 _XentMM
4 cfs_delay_adjust
5 cfs_rwvp_cache
6 cfs_cachewrite
7 cfs_write
8 vn_write
9 rwuio
10 write
11 syscall
12 _Xsyscall
|