diff options
author | kib <kib@FreeBSD.org> | 2015-09-01 13:07:27 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-09-01 13:07:27 +0000 |
commit | d285ab020931b7112ac22a959b42ebe22a54b897 (patch) | |
tree | 91d2b2d00f4995b5b7257e8e07ba36d9f11874cd /usr.sbin/i2c | |
parent | 3d333a281ef6327d1f50235d4d34e8b3478683c1 (diff) | |
download | FreeBSD-src-d285ab020931b7112ac22a959b42ebe22a54b897.zip FreeBSD-src-d285ab020931b7112ac22a959b42ebe22a54b897.tar.gz |
By doing file extension fast, it is possible to create excess supply
of the D_NEWBLK kinds of dependencies (i.e. D_ALLOCDIRECT and
D_ALLOCINDIR), which can exhaust kmem.
Handle excess of D_NEWBLK in the same way as excess of D_INODEDEP and
D_DIRREM, by scheduling ast to flush dependencies, after the thread,
which created new dep, left the VFS/FFS innards. For D_NEWBLK, the
only way to get rid of them is to do full sync, since items are
attached to data blocks of arbitrary vnodes. The check for D_NEWBLK
excess in softdep_ast_cleanup_proc() is unlocked.
For 32bit arches, reduce the total amount of allowed dependencies by
two. It could be considered increasing the limit for 64 bit platforms
with direct maps.
Reported and tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Diffstat (limited to 'usr.sbin/i2c')
0 files changed, 0 insertions, 0 deletions