| Age | Commit message (Collapse) | Author |
|
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
make dnotify configurable, via CONFIG_DNOTIFY. CONFIG_EMBEDDED is required
for disabling dnotify.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
The big SMP machines are seeing quite some contention in dnotify_parent()
(via vfs_write). This function is hammering the global dparent_lock.
However we don't actually need a global dparent_lock for pinning down
dentry->d_parent. We can use dentry->d_lock for this. That is already being
held across d_move.
This patch speeds up SDET on the 16-way by 5% and wipes dnotify_parent() off
the profiles.
It also uninlines dnofity_parent().
It also uses spin_lock(), which is faster than read_lock().
I'm not sure that we need to take both the source and target dentry's d_lock
in d_move.
The patch also does lots of s/__inline__/inline/ in dcache.h
|
|
This patch fixes directory notification so that notifications get
cancelled when a process exits. This make dnotify MUCH more stable and
usable :-)
|
|
The following patch makes directory notifications per thread group instead
of per process tree as they are now. This means, in particular, that if
a child closes a file descriptor that has a directory open with notifies
enabled, the notification will not be removed.
Thanks to Andrea for the push in the right direction.
|
|
Protect d_parent with "dparent_lock", making ready to get rid of
BKL for d_move().
|
|
A bunch of places dereferences ->d_parent->d_inode with no
protection whatsoever (e.g. on return from read()). It's an
SMP race on all boxen and pretty wide UP race if we have dnotify
set on parent (race between read() and rename() and similar beasts).
Patch below is the first one in a series of ->d_parent-related
fixes. It adds a helper (dnotify_parent(dentry, event)) and converts
places that did inode_dir_notify(dentry->d_parent->d_inode,...) to it.
Please, apply. Notice that problem exists in 2.4 and unlike 2.5
there we can't switch to saner API (basically, reporting file events on
file, not on a parent directory).
Some of the further fixes depend on Pat's and Greg's (driverfs and usbdevfs
resp.) patches, so getting them merged would make life easier. And yes,
some of further chunks (e.g. smbfs ->revalidate() and friends) will also
have to go into 2.4 - they are independent from any threading projects ;-/
|
|
- Al Viro: VFS inode allocation moved down to filesystem, trim inodes
- Greg KH: USB update, hotplug documentation
- Kai Germaschewski: ISDN update
- Ingo Molnar: scheduler tweaking ("J2")
- Arnaldo: emu10k kdev_t updates
- Ben Collins: firewire updates
- Björn Wesen: cris arch update
- Hal Duston: ps2esdi driver bio/kdev_t fixes
- Jean Tourrilhes: move wireless drivers into drivers/net/wireless,
update wireless API #1
- Richard Gooch: devfs race fix
- OGAWA Hirofumi: FATFS update
|
|
|