Revision tags: release/4.3.0_cvs, release/4.3.0 |
|
#
19eb87d2 |
| 07-Mar-2001 |
John Baldwin <jhb@FreeBSD.org> |
Grab the process lock while calling psignal and before calling psignal.
|
#
9ed346ba |
| 09-Feb-2001 |
Bosko Milekic <bmilekic@FreeBSD.org> |
Change and clean the mutex lock interface.
mtx_enter(lock, type) becomes:
mtx_lock(lock) for sleep locks (MTX_DEF-initialized locks) mtx_lock_spin(lock) for spin locks (MTX_SPIN-initialized)
simil
Change and clean the mutex lock interface.
mtx_enter(lock, type) becomes:
mtx_lock(lock) for sleep locks (MTX_DEF-initialized locks) mtx_lock_spin(lock) for spin locks (MTX_SPIN-initialized)
similarily, for releasing a lock, we now have:
mtx_unlock(lock) for MTX_DEF and mtx_unlock_spin(lock) for MTX_SPIN. We change the caller interface for the two different types of locks because the semantics are entirely different for each case, and this makes it explicitly clear and, at the same time, it rids us of the extra `type' argument.
The enter->lock and exit->unlock change has been made with the idea that we're "locking data" and not "entering locked code" in mind.
Further, remove all additional "flags" previously passed to the lock acquire/release routines with the exception of two:
MTX_QUIET and MTX_NOSWITCH
The functionality of these flags is preserved and they can be passed to the lock/unlock routines by calling the corresponding wrappers:
mtx_{lock, unlock}_flags(lock, flag(s)) and mtx_{lock, unlock}_spin_flags(lock, flag(s)) for MTX_DEF and MTX_SPIN locks, respectively.
Re-inline some lock acq/rel code; in the sleep lock case, we only inline the _obtain_lock()s in order to ensure that the inlined code fits into a cache line. In the spin lock case, we inline recursion and actually only perform a function call if we need to spin. This change has been made with the idea that we generally tend to avoid spin locks and that also the spin locks that we do have and are heavily used (i.e. sched_lock) do recurse, and therefore in an effort to reduce function call overhead for some architectures (such as alpha), we inline recursion for this case.
Create a new malloc type for the witness code and retire from using the M_DEV type. The new type is called M_WITNESS and is only declared if WITNESS is enabled.
Begin cleaning up some machdep/mutex.h code - specifically updated the "optimized" inlined code in alpha/mutex.h and wrote MTX_LOCK_SPIN and MTX_UNLOCK_SPIN asm macros for the i386/mutex.h as we presently need those.
Finally, caught up to the interface changes in all sys code.
Contributors: jake, jhb, jasone (in no particular order)
show more ...
|
Revision tags: release/4.2.0 |
|
#
b1b494a7 |
| 22-Oct-2000 |
Boris Popov <bp@FreeBSD.org> |
Update stale comment.
PR: kern/21805
|
#
e7b1ac75 |
| 22-Oct-2000 |
Boris Popov <bp@FreeBSD.org> |
Remove de_lock field from denode structure and make msdosfs PDIRUNLOCK aware.
|
#
a18b1f1d |
| 04-Oct-2000 |
Jason Evans <jasone@FreeBSD.org> |
Convert lockmgr locks from using simple locks to using mutexes.
Add lockdestroy() and appropriate invocations, which corresponds to lockinit() and must be called to clean up after a lockmgr lock is
Convert lockmgr locks from using simple locks to using mutexes.
Add lockdestroy() and appropriate invocations, which corresponds to lockinit() and must be called to clean up after a lockmgr lock is no longer needed.
show more ...
|
Revision tags: release/4.1.1_cvs |
|
#
012c643d |
| 29-Aug-2000 |
Robert Watson <rwatson@FreeBSD.org> |
o Restructure vaccess() so as to check for DAC permission to modify the object before falling back on privilege. Make vaccess() accept an additional optional argument, privused, to determine whe
o Restructure vaccess() so as to check for DAC permission to modify the object before falling back on privilege. Make vaccess() accept an additional optional argument, privused, to determine whether privilege was required for vaccess() to return 0. Add commented out capability checks for reference. Rename some variables to make it more clear which modes/uids/etc are associated with the object, and which with the access mode. o Update file system use of vaccess() to pass NULL as the optional privused argument. Once additional patches are applied, suser() will no longer set ASU, so privused will permit passing of privilege information up the stack to the caller.
Reviewed by: bde, green, phk, -security, others Obtained from: TrustedBSD Project
show more ...
|
#
e39c53ed |
| 20-Aug-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Centralize the canonical vop_access user/group/other check in vaccess().
Discussed with: bde
|
Revision tags: release/4.1.0 |
|
#
4ebb509c |
| 14-Jul-2000 |
David Malone <dwmalone@FreeBSD.org> |
Certain error contitions cause msdosfs_rename() to decrement the vnode reference count on 'fdvp' more times than it should.
PR: 17347 Submitted by: Ian Dowse <iedowse@maths.tcd.ie> Approved by: bde
|
#
b1bd38b3 |
| 25-Jun-2000 |
Boris Popov <bp@FreeBSD.org> |
Remove obsolete comment.
Submitted by: Marius Bendiksen <mbendiks@eunet.no>
|
Revision tags: release/3.5.0_cvs |
|
#
9626b608 |
| 05-May-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Separate the struct bio related stuff out of <sys/buf.h> into <sys/bio.h>.
<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on
Separate the struct bio related stuff out of <sys/buf.h> into <sys/bio.h>.
<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on the subject of nested includes.
Diskdrivers and similar stuff below specfs::strategy() should no longer need to include <sys/buf.> unless they need caching of data.
Still a few bogus uses of struct buf to track down.
Repocopy by: peter
show more ...
|
#
2c9b67a8 |
| 30-Apr-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove unneeded #include <vm/vm_zone.h>
Generated by: src/tools/tools/kerninclude
|
#
8177437d |
| 15-Apr-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Complete the bio/buf divorce for all code below devfs::strategy
Exceptions: Vinum untouched. This means that it cannot be compiled. Greg Lehey is on the case.
CCD not conve
Complete the bio/buf divorce for all code below devfs::strategy
Exceptions: Vinum untouched. This means that it cannot be compiled. Greg Lehey is on the case.
CCD not converted yet, casts to struct buf (still safe)
atapi-cd casts to struct buf to examine B_PHYS
show more ...
|
#
c244d2de |
| 02-Apr-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move B_ERROR flag to b_ioflags and call it BIO_ERROR.
(Much of this done by script)
Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED.
Move b_pblkno and b_iodone_chain to struct bio while w
Move B_ERROR flag to b_ioflags and call it BIO_ERROR.
(Much of this done by script)
Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED.
Move b_pblkno and b_iodone_chain to struct bio while we transition, they will be obsoleted once bio structs chain/stack.
Add bio_queue field for struct bio aware disksort.
Address a lot of stylistic issues brought up by bde.
show more ...
|
Revision tags: release/4.0.0_cvs |
|
#
37713edc |
| 08-Jan-2000 |
Boris Popov <bp@FreeBSD.org> |
Treat negative uio_offset value as eof (idea by: bde). Prevent overflows by casting uio_offset to uoff_t. Return correct error number if directory entry is broken.
Reviewed by: bde
|
#
70852092 |
| 02-Jan-2000 |
Boris Popov <bp@FreeBSD.org> |
Fix the mess with signed/unsigned longs and ints (inspired by bde). Fix potential bug with directory reading. Explicitly limit file size to 4GB (msdos can't handle larger files). Slightly reorganize
Fix the mess with signed/unsigned longs and ints (inspired by bde). Fix potential bug with directory reading. Explicitly limit file size to 4GB (msdos can't handle larger files). Slightly reorganize msdosfs_read() to reduce number of 'if's.
show more ...
|
#
687fce03 |
| 28-Dec-1999 |
Boris Popov <bp@FreeBSD.org> |
Avoid to write garbage if uiomove fails.
|
#
dc22f85f |
| 28-Dec-1999 |
Boris Popov <bp@FreeBSD.org> |
Fix an overflow in the msdosfs_read() function which exposed on the files with size > 2GB.
PR: 15639 Submitted by: Tim Kientzle <kientzle@acm.org> Reviewed by: phk
|
Revision tags: release/3.4.0_cvs |
|
#
762e6b85 |
| 16-Dec-1999 |
Eivind Eklund <eivind@FreeBSD.org> |
Introduce NDFREE (and remove VOP_ABORTOP)
|
#
67ddfcaf |
| 21-Sep-1999 |
Matthew Dillon <dillon@FreeBSD.org> |
More removals of vnode->v_lastr, replaced by preexisting seqcount heuristic to detect sequential operation.
VM-related forced clustering code removed from ufs in preparation for a commit
More removals of vnode->v_lastr, replaced by preexisting seqcount heuristic to detect sequential operation.
VM-related forced clustering code removed from ufs in preparation for a commit to vm/vm_fault.c that does it more generally.
Reviewed by: David Greenman <dg@root.com>, Alan Cox <alc@cs.rice.edu>
show more ...
|
Revision tags: release/3.3.0_cvs |
|
#
c3aac50f |
| 28-Aug-1999 |
Peter Wemm <peter@FreeBSD.org> |
$Id$ -> $FreeBSD$
|
#
0ef1c826 |
| 08-Aug-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Decommision miscfs/specfs/specdev.h. Most of it goes into <sys/conf.h>, a few lines into <sys/vnode.h>.
Add a few fields to struct specinfo, paving the way for the fun part.
|
#
a2a0b22c |
| 25-Jul-1999 |
Bruce Evans <bde@FreeBSD.org> |
Don't set DE_ACCESS for unsuccessful reads. Translated from: a similar fix in ufs_readwrite.c rev.1.61.
Don't forget to set DE_ACCESS for short reads.
Check for invalid (negative) offsets before ch
Don't set DE_ACCESS for unsuccessful reads. Translated from: a similar fix in ufs_readwrite.c rev.1.61.
Don't forget to set DE_ACCESS for short reads.
Check for invalid (negative) offsets before checking for reads of 0 bytes, as in ufs, although checking for invalid offsets at all is probably a bug.
show more ...
|
#
67812eac |
| 26-Jun-1999 |
Kirk McKusick <mckusick@FreeBSD.org> |
Convert buffer locking from using the B_BUSY and B_WANTED flags to using lockmgr locks. This commit should be functionally equivalent to the old semantics. That is, all buffer locking is done with LK
Convert buffer locking from using the B_BUSY and B_WANTED flags to using lockmgr locks. This commit should be functionally equivalent to the old semantics. That is, all buffer locking is done with LK_EXCLUSIVE requests. Changes to take advantage of LK_SHARED and LK_RECURSIVE will be done in future commits.
show more ...
|
Revision tags: release/3.2.0 |
|
#
bfbb9ce6 |
| 11-May-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Divorce "dev_t" from the "major|minor" bitmap, which is now called udev_t in the kernel but still called dev_t in userland.
Provide functions to manipulate both types: major() umajor
Divorce "dev_t" from the "major|minor" bitmap, which is now called udev_t in the kernel but still called dev_t in userland.
Provide functions to manipulate both types: major() umajor() minor() uminor() makedev() umakedev() dev2udev() udev2dev()
For now they're functions, they will become in-line functions after one of the next two steps in this process.
Return major/minor/makedev to macro-hood for userland.
Register a name in cdevsw[] for the "filedescriptor" driver.
In the kernel the udev_t appears in places where we have the major/minor number combination, (ie: a potential device: we may not have the driver nor the device), like in inodes, vattr, cdevsw registration and so on, whereas the dev_t appears where we carry around a reference to a actual device.
In the future the cdevsw and the aliased-from vnode will be hung directly from the dev_t, along with up to two softc pointers for the device driver and a few houskeeping bits. This will essentially replace the current "alias" check code (same buck, bigger bang).
A little stunt has been provided to try to catch places where the wrong type is being used (dev_t vs udev_t), if you see something not working, #undef DEVT_FASCIST in kern/kern_conf.c and see if it makes a difference. If it does, please try to track it down (many hands make light work) or at least try to reproduce it as simply as possible, and describe how to do that.
Without DEVT_FASCIST I belive this patch is a no-op.
Stylistic/posixoid comments about the userland view of the <sys/*.h> files welcome now, from userland they now contain the end result.
Next planned step: make all dev_t's refer to the same devsw[] which means convert BLK's to CHR's at the perimeter of the vnodes and other places where they enter the game (bootdev, mknod, sysctl).
show more ...
|
#
dfd5dee1 |
| 06-May-1999 |
Peter Wemm <peter@FreeBSD.org> |
Add sufficient braces to keep egcs happy about potentially ambiguous if/else nesting.
|