Commit Graph

70 Commits

Author SHA1 Message Date
agc
aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
fvdl
d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
darrenr
960df3c8d1 Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
yamt
f2917653ff add appropriate #ifdef's.
pointed by Simon Burge on source-changes
and by some people in private mail.
2003-06-26 13:38:53 +00:00
yamt
45c519f76f - instead of scaning a list when looking up
{a idle thread, a socket with pending requests},
  maintain dedicated list of them.
- add spin locks.
2003-06-25 14:37:50 +00:00
yamt
9c1b2d7aa2 make duplicated codes to a function, nfsrv_sockalloc. 2003-05-26 13:30:07 +00:00
yamt
85b757c497 poolify nfsrv_descript. 2003-05-22 14:16:23 +00:00
yamt
a423954d74 indent (nfssvc_nfsd) 2003-05-22 14:14:41 +00:00
yamt
78fe726a6f - use FREE not free for MALLOC'ed memory.
- remove unneeded caddr_t casts.
2003-05-21 14:41:26 +00:00
yamt
08bf5aae7b remove local definitions of TRUE and FALSE. 2003-05-21 13:50:54 +00:00
yamt
de31ef25cd simple lock for nfs iod. 2003-05-07 16:18:53 +00:00
yamt
a4ae58105f indent. 2003-05-07 16:18:17 +00:00
yamt
9b96b4ab78 make per-iod datas together. 2003-04-09 14:22:33 +00:00
yamt
a14f444335 use queue manipulation macros. 2003-04-02 15:14:19 +00:00
yamt
0d3c7b7285 adapt to file interlock. 2003-03-31 14:43:59 +00:00
matt
65e5548a17 Add MBUFTRACE kernel option.
Do a little mbuf rework while here.  Change all uses of MGET*(*, M_WAIT, *)
to m_get*(M_WAIT, *).  These are not performance critical and making them
call m_get saves considerable space.  Add m_clget analogue of MCLGET and
make corresponding change for M_WAIT uses.
Modify netinet, gem, fxp, tulip, nfs to support MBUFTRACE.
Begin to change netstat to use sysctl.
2003-02-26 06:31:08 +00:00
thorpej
b193480908 Add extensible malloc types, adapted from FreeBSD. This turns
malloc types into a structure, a pointer to which is passed around,
instead of an int constant.  Allow the limit to be adjusted when the
malloc type is defined, or with a function call, as suggested by
Jonathan Stone.
2003-02-01 06:23:35 +00:00
thorpej
b78f59b443 Merge the nathanw_sa branch. 2003-01-18 08:51:40 +00:00
chs
73e5c26ec7 pick up a fix from openbsd:
revision 1.33
    date: 2002/07/24 23:32:11;  author: nordin;  state: Exp;  lines: +3 -3
    Use sizeof(array) instead of sizeof(array *) for bcopy length. ok deraadt@
2002-09-14 21:45:16 +00:00
matt
caf4b56c6f Eliminate commons 2002-05-12 23:04:35 +00:00
christos
a74164fa6e sprinkle crcvt() 2001-11-29 21:23:13 +00:00
lukem
0ffad69384 add RCSIDs 2001-11-10 10:59:08 +00:00
chs
aeda8d3b77 Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
chs
8362134916 put more ISO bits under ifdef ISO. 2000-11-24 23:30:02 +00:00
matt
04f534474c Change a DIAGNOSTIC panic slightly to print the locked vnodes and to just
print a diagnostic but not panic.
2000-10-24 07:08:48 +00:00
chs
be0d1c56f1 fix nfs iod management so we don't lose i/os when iods die. 2000-10-23 07:18:27 +00:00
fvdl
09f52ac6fc Don't do write gathering for v3; it makes no sense. Unless the client
is broken and does sync writes all the time, but that's the client's
fault.
2000-09-19 22:14:42 +00:00
bjh21
33daa8de6b New kernel option, NFS_V2_ONLY, which aims to reduce the NFS client to just
that required to support NFSv2 mounts.  Not finished yet, but already
provides some 44k of saving in code size on arm26.  More savings, and some
documentation, are still to come.
2000-09-19 17:04:50 +00:00
nathanw
7023c5166c Fix typo in comment. 2000-08-23 23:17:14 +00:00
fvdl
7cfd328d97 Some tweaks to enable NFS over IPv6. The special-casing of AF_INET
should really be removed.
2000-06-09 00:00:17 +00:00
tsarna
9bd6bb5e81 Auto-adjusting vfs.nfs.iothreads: when mounting the first nfs
filesystem, if the number of threads is "-1", meaning it's never been
set, then set it to 4.  You can override by setting this to some other
number (including 0) before or after mounting, of course.

Thanks to whoever it was that suggested this on ICB... sorry I don't
remember who.
2000-05-07 01:38:36 +00:00
tsarna
a32696c2de Death to nfsiod!
It is replaced by kernel threads that do the same thing. The number of
kernel threads used is set with the vfs.nfs.iothreads sysctl.
2000-04-15 21:14:48 +00:00
augustss
8529438fe6 Remove register declarations. 2000-03-30 12:51:13 +00:00
simonb
b6c62dcaae Delete redundant decl of nfs_pub - it's in <sys/mount.h>.
Delete redundant decl of nfsrv_zapsock() - it's in <nfs/nfs_var.h>.
2000-03-30 02:43:58 +00:00
wrstuden
6e06666498 Add fhopen, fhstat, fhstatfs syscalls. Also move getfh in from the nfs
syscall code.
1999-06-29 22:18:47 +00:00
thorpej
e3669c3393 Add "use counting" to file entries. When closing a file, and it's reference
count is 0, wait for use count to drain before finishing the close.

This is necessary in order for multiple processes to safely share file
descriptor tables.
1999-05-05 20:01:01 +00:00
sommerfe
6f883a0b1c Include checks (under DIAGNOSTIC) to catch vnode lock leaks soon after
they happen (while we still know which remote op is to blame for it),
instead of later when we trip over the already-locked vnode.
1999-05-04 16:08:02 +00:00
mycroft
6957bd875c Do not permit the u area for nfsd or nfsiod to be swapped out. 1998-11-08 15:57:44 +00:00
perry
4522c799a1 bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:51:08 +00:00
jonathan
5c0c5dd0b4 defopt ISO TPIP. 1998-07-05 04:37:35 +00:00
thorpej
6b781d156f defopt NFSSERVER 1998-06-25 22:17:36 +00:00
matt
bd055c0318 Adapt to new sosend/soreceive and upcall (now down in sowakeup) 1998-04-25 17:41:01 +00:00
thorpej
2146a2ed29 Include the NFS option header. 1998-02-19 00:54:13 +00:00
fvdl
7f7d814e67 * New directory entry caching system. Provides full caching of any
directory cookie that may be thrown back at us from userspace, up
  to a size limit. Fixes double entry problem.
* Split flags for internal and external use in the NFS mount structure.
* Fix some buffer structure fields that weren're being used correctly.
* Fix missing directory cache inval call in nfs_open.
* Limit on NFS_DIRBLKSIZ no longer needed, bumped to the more reasonable
  value of 8k.
* Various other things that I forget, all related to the dir caching
  somehow, though.
1997-10-10 01:53:17 +00:00
fvdl
246567553a Invalidate nfs_pub info when reinitting the NFS server. 1997-06-24 23:38:10 +00:00
mycroft
6962daa0f8 KNF police. 1997-03-24 21:50:48 +00:00
thorpej
dc33841893 NFSCLIENT -> NFS. 1997-01-31 02:58:48 +00:00
thorpej
f02e8b3cf0 Make NFSSERVER work without NFSCLIENT. This is achieved by splitting
the client and server/shared data initialization into separate functions,
and calling the server/shared initialization directly from main().
Problem noted in PR #1308 (Kenneth Stailey) and PR #1780 (Chris Demetriou).
Fix suggested in PR #1780 by Chris Demetriou, and munged a bit by me,
and OK'd by Frank van der Linden <fvdl@netbsd.org>.
1996-12-03 00:22:43 +00:00
thorpej
aa25de69d1 NFS performance improvement from Doug Rabson/FreeBSD:
Improve the queuing algorithms used by NFS' asynchronous i/o.  The
existing mechanism uses a global queue for some buffers and the
vp->b_dirtyblkhd queue for others.  This turns sequential writes into
randomly ordered writes to the server, affecting both read and write
performance.  The existing mechanism also copes badly with hung
servers, tending to block accesses to other servers when all the iods
are waiting for a hung server.

The new mechanism uses a queue for each mount point.  All asynchronous
i/o goes through this queue which preserves the ordering of requests.
A simple mechanism ensures that the iods are shared out fairly between
active mount points.

Reviewed/integrated/approved by Frank van der Linden <fvdl@netbsd.org>
1996-12-02 22:55:39 +00:00
christos
bcf4552fb1 revert kprintf changes 1996-10-13 01:39:03 +00:00