====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
split for rw/ro dcaches to allow portion of cache to be dedicated
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
cm_EndCallbackGrantingCall contained a race condition due to the release
of the cm_callbackLock in the middle of the for() loop. The race was
removed by optimizing out the call to cm_CallbackNotifyChange(). There
is no reason this needed to be called once per callback revoke in the
list.
here's a patch that reduces the overhead of transfers
between the local and global free packet queues. The old algorithm was
O(n) in the number of store instructions -- 7 per rx_packet. I've added
some bulk transfer macros to the rx_queue package. Now, the number of
store instructions is O(1) -- 6 total. This should help reduce bus
contention and cache line invalidates on SMPs.
provide daemon() if none exists. call it in bosserver and in afsd for afsdb handler
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
I've been stress testing a patch all weekend that changes the way
thread-local packet quotas are computed. I was able to replicate the
unbounded packet alloc problem on unix server components by eliminating my
code from rxi_StartServerProcs that sets the maximum number of expected
threads. This patch makes the upper thread limit get computed on the fly,
adds some thread-local free packet queue statistics, and a few other minor
tweaks. I still don't have a working windows development environment, so
I can't say whether this will fix all the windows client problems. But,
the unbounded packet allocation problem should go away with this patch.
stress testing on windows succeeds as well. <jaltman@secure-endpoints.com>
Fix IsAfsVnode and friends for OpenBSD and NetBSD.
Use "v" instead of "vc" for vnode args to macros (cosmetic only).
Redefine OpenBSD macros instead of using #ifdefs in afs_osi.h.
Add a new function called rx_StartClientThread() which parallels the
behavior of rx_StartServer but is used for initializing client threads.
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
FIXES 17805
Add a new function called rx_StartClientThread() which parallels the
behavior of rx_StartServer but is used for initializing client threads.
Also, disable RX_TSFPQ_ENABLE for Windows as it slows the client down.
Apparently the problem with multi-domain forests with cross-
realm trusts to non-Windows realms was not entirely solved.
The authentication to the AFS SMB service failed because
the wrong name was being used. Using ASU as an example,
the authentication was being performed with the name
"QAAD\user" (an account in the forest root) and not
"user@ASU.EDU (the MIT Kerberos principal used to login with)
The solution was to add an additional dependency on KFW
in order or to be able to easily obtain the client principal
name stored in the MSLSA ccache TGT. This information is
used in two locations:
- the pioctl() function
- a new WinLogon Event Handler for the "logon" event.
The pioctl function will now be able to use the correct
name when calling WNetAddConnection2() and the "logon"
event handler will now be able to call WNetAddConnection2().
The hope is that the "logon" event handler will be called
before the profile is loaded but I have not guarrantee
that will happen.
rcmds, inetd, ftpd and ntp are gone. leaving the files in the cvs head for now.
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
rcmds, inetd, ftpd and ntp are gone. in 1.4, files also go away.
The attached patch turns the rx free packet queue into a 2-tiered cache
with a local thread-specific queue, backed by a global queue when using
pthreaded rx. The patch is against 1.3.79. Preliminary benchmarks show
scalability much closer to 2 cpus on sparc with this patch. Also,
fileserver performance under heavy load is improved: 50% improvement in
throughput for sequential writes, and a 10% improvement in performance for
random writes against an smp sparc solaris 10 fileserver.
h_ID2Client currently returns a client struct with a shared lock. The
only caller of h_ID2Client (SRXAFS_FlushCPS) immediately calls
BoostSharedLock. This patch just goes ahead and makes h_ID2Client return
it with the write lock so we don't enter the Lock struct mutex multiple
times in a row. This also happens to remove the last reference to
BoostSharedLock in the tree.
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
FIXES 18131
add apsl 2.0 license. note it in ReadMe.rtf. update buildpkg to provide afsd options sample. update post_install to use sample ThisCell and options if none provided.
* Removed memory allocation functions only used on AIX and ancient
HPUX. If the performance penalty is noticeable, implement a wrapper
at the osi-level in the same manner as LINUX/FBSD (ie not sprayed
throughout the code).
* Removed all remnants of splnet()-style locking, it was not
sufficient for MP anyway which the real locks are. Affects only AIX
and HPUX.
* Drop the global locking in rxi_Alloc since the real locks do their
jobs, affects only AIX41 and up (ie. MP capable OS).
* Fix the non-kernel wrapper for osi_Alloc/Free on AIX to take void *
in the same manner as the rest of the functions. IMO this wrapper
shouldn't be necessary since you should never ever malloc() 0 bytes,
but since it's there I'd guess someone made stupid assumptions
somewhere...
* Restores MAXKTCTICKETLEN to 12000 on AIX
* Restores AFS_LWP_MINSTACKSIZE to 48k on AIX (might affect
server-stuff)