The NetBSD Project

CVS log for src/sys/kern/vfs_vnode.c

[BACK] Up to [cvs.netbsd.org] / src / sys / kern

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.14.2.2 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:32 2012 UTC (5 weeks, 4 days ago) by yamt
Branch: yamt-pagecache
Changes since 1.14.2.1: +7 -7 lines
Diff to previous 1.14.2.1 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored)

sync with head

Revision 1.14.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:35:35 2012 UTC (3 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.14: +9 -9 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

merge to -current.

Revision 1.15 / (download) - annotate - [select for diffs], Tue Dec 20 16:49:37 2011 UTC (5 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, netbsd-6, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, HEAD
Changes since 1.14: +9 -9 lines
Diff to previous 1.14 (colored)

Move the diagnostic check for a missing VOP_CLOSE() to the top of vrelel().
As long as we hold the vnode interlock there is no chance for this vnode
to gain new references.

Fixes false alarms observed by Thor Lancelot Simon and reported on tech-kern.

Ok: David Holland <dholland@netbsd.org>

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Thu Nov 10 14:32:19 2011 UTC (6 months, 2 weeks ago) by yamt
Branch: yamt-pagecache
Changes since 1.14: +4 -4 lines
Diff to previous 1.14 (colored)

remove uobj->memq

Revision 1.14 / (download) - annotate - [select for diffs], Fri Oct 7 09:35:06 2011 UTC (7 months, 2 weeks ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.13: +4 -16 lines
Diff to previous 1.13 (colored)

As vnalloc() always allocates with PR_WAITOK there is no longer the need
to test its result for NULL.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Oct 3 10:30:13 2011 UTC (7 months, 3 weeks ago) by hannken
Branch: MAIN
Changes since 1.12: +5 -7 lines
Diff to previous 1.12 (colored)

As getnewvnode() is prepared to wait for an allocation change vnalloc()
to always use PR_WAITOK.

No more 'WARNING: unable to allocate new vnode, retrying...' messages.

Revision 1.12 / (download) - annotate - [select for diffs], Sun Oct 2 13:00:06 2011 UTC (7 months, 3 weeks ago) by hannken
Branch: MAIN
Changes since 1.11: +74 -97 lines
Diff to previous 1.11 (colored)

The path getnewvnode()->getcleanvnode()->vclean()->VOP_LOCK() will panic
if the vnode we want to clean is a layered vnode and the caller already
locked its lower vnode.

Change getnewvnode() to always allocate a fresh vnode and add a helper
thread (vdrain) to keep the number of allocated vnodes within desiredvnodes.

Rename getcleanvnode() to cleanvnode() and let it take a vnode from the
lists, clean and free it.

Reviewed by: David Holland <dholland@netbsd.org>

Should fix:
PR #19110 (nullfs mounts over NFS cause lock manager problems)
PR #34102 (ffs panic in NetBSD 3.0_STABLE)
PR #45115 (lock error panic when build.sh*3 and daily script is running)
PR #45355 (Reader/writer lock error:  rw_vector_enter: locking against myself)

Revision 1.11 / (download) - annotate - [select for diffs], Thu Sep 29 20:51:38 2011 UTC (7 months, 3 weeks ago) by christos
Branch: MAIN
Changes since 1.10: +17 -12 lines
Diff to previous 1.10 (colored)

rename vpanic() to vnpanic() and make it varyadic. While there, fix the
broken formats, always call panic() from vnpanic() and make all the calls
use vnpanic(). We only call vprint() on DIAGNOSTIC now.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Sep 1 09:04:08 2011 UTC (8 months, 3 weeks ago) by christos
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)

Check for v_type before v_rdev because it is cheaper and safer.

Revision 1.8.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:22 2011 UTC (11 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.8: +69 -43 lines
Diff to previous 1.8 (colored) next main 1.9 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:57 2011 UTC (11 months, 2 weeks ago) by rmind
Branch: MAIN
Changes since 1.8: +69 -43 lines
Diff to previous 1.8 (colored)

Welcome to 5.99.53!  Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
  New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
  the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
  Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
  kernel-lock on some ports).  Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.

Revision 1.8.4.2 / (download) - annotate - [select for diffs], Mon Jun 6 09:09:41 2011 UTC (11 months, 2 weeks ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.8.4.1: +1201 -0 lines
Diff to previous 1.8.4.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored)

Sync with HEAD.

Revision 1.5.2.6 / (download) - annotate - [select for diffs], Tue May 31 03:05:04 2011 UTC (11 months, 3 weeks ago) by rmind
Branch: rmind-uvmplock
Changes since 1.5.2.5: +67 -33 lines
Diff to previous 1.5.2.5 (colored) next main 1.6 (colored)

sync with head

Revision 1.5.2.5 / (download) - annotate - [select for diffs], Mon May 30 14:57:48 2011 UTC (11 months, 3 weeks ago) by rmind
Branch: rmind-uvmplock
Changes since 1.5.2.4: +9 -9 lines
Diff to previous 1.5.2.4 (colored)

- Amend getnewvnode(9) to take the lock for sharing, not a vnode.
- Update tmpfs to perform vnode and UVM object lock sharing correctly.

Revision 1.5.2.4 / (download) - annotate - [select for diffs], Sun May 22 04:29:04 2011 UTC (12 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.5.2.3: +3 -2 lines
Diff to previous 1.5.2.3 (colored)

Fix vnode interlock sharing.

Revision 1.5.2.3 / (download) - annotate - [select for diffs], Thu May 19 03:43:03 2011 UTC (12 months, 1 week ago) by rmind
Branch: rmind-uvmplock
Changes since 1.5.2.2: +30 -5 lines
Diff to previous 1.5.2.2 (colored)

Implement sharing of vnode_t::v_interlock amongst vnodes:
- Lock is shared amongst UVM objects using uvm_obj_setlock() or getnewvnode().
- Adjust vnode cache to handle unsharing, add VI_LOCKSHARE flag for that.
- Use sharing in tmpfs and layerfs for underlying object.
- Simplify locking in ubc_fault().
- Sprinkle some asserts.

Discussed with ad@.

Revision 1.8.4.1, Thu May 19 03:26:06 2011 UTC (12 months, 1 week ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.8: +0 -1201 lines
FILE REMOVED

file vfs_vnode.c was added on branch jruoho-x86intr on 2011-06-06 09:09:41 +0000

Revision 1.8 / (download) - annotate - [select for diffs], Thu May 19 03:26:06 2011 UTC (12 months, 1 week ago) by rmind
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: jruoho-x86intr, cherry-xenmp
Changes since 1.7: +51 -21 lines
Diff to previous 1.7 (colored)

Add some general description of vnode life-cycle.

Revision 1.7 / (download) - annotate - [select for diffs], Thu May 19 03:11:55 2011 UTC (12 months, 1 week ago) by rmind
Branch: MAIN
Changes since 1.6: +6 -2 lines
Diff to previous 1.6 (colored)

Remove cache_purge(9) calls from reclamation routines in the file systems,
as vclean(9) performs it for us since Lite2 merge.

Revision 1.6 / (download) - annotate - [select for diffs], Fri May 13 22:16:44 2011 UTC (12 months, 1 week ago) by rmind
Branch: MAIN
Changes since 1.5: +14 -14 lines
Diff to previous 1.5 (colored)

Sprinkle __cacheline_aligned and __read_mostly.

Revision 1.5.2.2 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:12 2011 UTC (13 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.5.2.1: +1167 -0 lines
Diff to previous 1.5.2.1 (colored)

sync with head

Revision 1.5.2.1, Mon Apr 4 02:46:57 2011 UTC (13 months, 3 weeks ago) by rmind
Branch: rmind-uvmplock
Changes since 1.5: +0 -1167 lines
FILE REMOVED

file vfs_vnode.c was added on branch rmind-uvmplock on 2011-04-21 01:42:12 +0000

Revision 1.5 / (download) - annotate - [select for diffs], Mon Apr 4 02:46:57 2011 UTC (13 months, 3 weeks ago) by rmind
Branch: MAIN
Branch point for: rmind-uvmplock
Changes since 1.4: +24 -29 lines
Diff to previous 1.4 (colored)

getcleanvnode: make static, add few comments, convert checks to asserts.

Revision 1.4 / (download) - annotate - [select for diffs], Sat Apr 2 07:33:49 2011 UTC (13 months, 3 weeks ago) by rmind
Branch: MAIN
Changes since 1.3: +21 -20 lines
Diff to previous 1.3 (colored)

KNF, slightly improve few comments.

Revision 1.3 / (download) - annotate - [select for diffs], Sat Apr 2 05:07:57 2011 UTC (13 months, 3 weeks ago) by rmind
Branch: MAIN
Changes since 1.2: +6 -5 lines
Diff to previous 1.2 (colored)

vfs_drainvnodes: drop lwp argument, remove variable name in prototype.

Revision 1.2 / (download) - annotate - [select for diffs], Sat Apr 2 04:45:24 2011 UTC (13 months, 3 weeks ago) by rmind
Branch: MAIN
Changes since 1.1: +21 -7 lines
Diff to previous 1.1 (colored)

- Move vrele_list flush notify code into vrele_flush() routine.
- Make some structures static.

Revision 1.1 / (download) - annotate - [select for diffs], Sat Apr 2 04:28:57 2011 UTC (13 months, 3 weeks ago) by rmind
Branch: MAIN

Split off parts of vfs_subr.c into vfs_vnode.c and vfs_mount.c modules.

No functional change.  Discussed on tech-kern@.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>