summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* The assertions generated to test VFS locking never included checksse2003-06-201-0/+2
| | | | | | | | | | | | | | | | for vnodes reached through double indirection (i.e. **vpp). This is worked-around by special-casing the identifier "vpp" (adding one level of indirection). The alternative fix mentioned in the PR had required substantial changes to this script. In case there are locking violations that had been hidden without this patch, they may suddenly show up, now ... This change does not affect code compiled without DEBUG_VFS_LOCKS. PR: kern/46652
* cpu_set_upcall_kse needs to access userspace, release schedule lockdavidxu2003-06-202-8/+20
| | | | | | | | before calling it for bound thread. To avoid this problem, change thread_schedule_upcall to not put new thread on run queue, let caller do it, so we can tweak the new thread before setting it to run. Reported by: pho
* Don't put callout_lock under #ifdef DIAGNOSTIC despite the fact that itphk2003-06-201-1/+2
| | | | works anyway.
* Initialize b_saveaddr when we hand out pbufsphk2003-06-201-2/+3
|
* Initialize b_saveaddr when we hand out buffersphk2003-06-201-2/+4
|
* Crude but efficient:phk2003-06-201-1/+8
| | | | | #ifdef DIAGNOSTIC hold a mutex while calling callout's so that we hear about it if they sleep.
* Don't (re)initialize f_gcflag to zero.phk2003-06-203-2/+2
| | | | | Move initialization of DTYPE_VNODE specific field f_seqcount into the DTYPE_VNODE specific code.
* Move FMARK and FDEFER til sys/file.h where they belong.phk2003-06-202-10/+15
| | | | Order the fields in struct file in sections after their scope.
* fix another LP64 problem. READ_IVAR takes a pointer to an uintptr_t, notjmg2003-06-202-2/+6
| | | | an int.
* The so-called "optimized copy-on-write fault" case should not requirealc2003-06-201-9/+2
| | | | | | | the vm map lock. What's really needed is vm object locking, which is (for the moment) provided Giant. Reviewed by: tegge
* When a STOP signal is being sent to a process, it is possible alldavidxu2003-06-201-2/+16
| | | | | | | threads in the process have already masked the signal, so job control is delayed. But later a thread unmasking the STOP signal should enable job control, so in issignal(), scanning all threads in process to see if we can direct suspend some of them, not just suspend current thread.
* Fix typo. td should be td0.davidxu2003-06-201-1/+1
|
* Avoid using v8 opcodes; use ba instead of b for unconditional branches.jake2003-06-192-37/+37
|
* Unlock the struct file lock before aquiring Giant, otherwisealfred2003-06-191-3/+3
| | | | | | | | we can deadlock because of lock order reversals. This was not caught because Witness ignores pool mutexes right now. Diagnosis and help: truckman Noticed by: pho
* Hook openpromio up to the build.jake2003-06-191-0/+1
|
* Lock the vm object when freeing a vm page.alc2003-06-191-0/+2
|
* Add support for the HighPoint HPT302 & HPT371sos2003-06-191-0/+2
| | | | HW sponsored by: Martin Blapp <mbr@FreeBSD.ORG>
* Fix direct map page table for 2GB+ physical memory.simokawa2003-06-191-1/+1
| | | | | You may still need to increase NKPT for larger memory. I have successfully booted 8GB system with NKPT=256.
* Add TLS related relocation.marcel2003-06-191-0/+17
|
* Add a ratelimited message of the formsilby2003-06-191-1/+5
| | | | | | | | | "maxproc limit exceeded by uid %i, please see tuning(7) and login.conf(5)." Which will be triggered whenever a user hits his/her maxproc limit or the systemwide maxproc limit is reached. MFC after: 1 week
* - Rename the IPI_WAIT macro to IPI_DONE.jake2003-06-191-11/+8
| | | | | | | | | - Don't require all receivers of ipis to wait for all other receivers, only that the sender wait for all receivers. This should reduce the amount of time spent with interrupts disabled, which may be a cause of ipi timeouts. Discussed with: tmm
* FILE_LOCK() uses a pool mutex, as does the vnode v_vnlock. Since pooltruckman2003-06-192-10/+10
| | | | | | | | | | mutexes are supposed to only be used as leaf mutexes, and what appear to be separate pool mutexes could be aliased together, it is bad idea for a thread to attempt to hold two pool mutexes at the same time. Slightly rearrange the code in kern_open() so that FILE_UNLOCK() is called before calling VOP_GETVOBJECT(), which will grab the v_vnlock mutex.
* Add a rate limited message reporting when kern.maxfiles is exceeded,silby2003-06-191-2/+8
| | | | | | | | reporting who did it. Also, fix a style bug introduced in the previous change. MFC after: 1 week
* VOP_GETVOBJECT() wants to be called with the vnode lock held.truckman2003-06-191-0/+3
|
* Lock the vm object when freeing a vm page.alc2003-06-191-1/+9
|
* Lock the vm object when freeing a vm page.alc2003-06-191-1/+7
|
* make iicbb_devclass and iicbb_driver globally visible. This will letjmg2003-06-192-2/+5
| | | | | | | | drivers that implemnt the i2c bit banging bus interface not have to recompile iicbb in order to add an attachment for it. This will mean the bktr and other definitions can go back to their respective drivers.
* Add vm object locking.alc2003-06-192-0/+12
|
* Assert that the vm object is locked in vm_page_try_to_free().alc2003-06-191-0/+2
|
* Fixing some glaring problems with aac_disk_dump().scottl2003-06-191-2/+18
| | | | | | | | | | - Mark that it cannot handle greater than 4GB of RAM at this time. Fixing that will come later. Fail any attempts to dump above thati limit. - If a call to aac_disk_dump() needs to be split into multiple i/o's, increment the virtual offset after each i/o instead of just dumping the same offset over and over again. - Bail out if bus_dmamap_load() returns an error. Error recovery is likely not possible.
* Fix a vm object reference leak in the page-based copy-on-write mechanismalc2003-06-191-1/+1
| | | | | | used by the zero-copy sockets implementation. Reviewed by: gallatin
* Add a solaris compatible ofw interface for third party software thatjake2003-06-192-0/+264
| | | | | | | expects one to use. Only the functions used by XFree86 are actually implemented. Glanced at by: tmm
* Introduce a new flag on a file descriptor: DFLAG_SEEKABLE and use thatphk2003-06-185-7/+8
| | | | rather than assume that only DTYPE_VNODE is seekable.
* Reserve the last 5% of file descriptors for root use. This should allowsilby2003-06-181-2/+3
| | | | | | | | | systems to fail more gracefully when a file descriptor exhaustion situation occurs. Original patch by: David G. Andersen <dga@lcs.mit.edu> PR: 45353 MFC after: 1 week
* Initialize struct fileops with C99 sparse initialization.phk2003-06-187-31/+52
|
* Add FBTYPEs used by the sbus bus support in XFree86. This uses some ofjake2003-06-181-4/+8
| | | | | | | the values that are "reserved", but they are not reserved anywhere else so I'm assuming this is what they were unreserved for. Unfortunately some of the values for local syscons types overlap the values used for sbus adapters elsewhere, so we can't have all the same values.
* Ignore fake ttes in pmap_copy, its too hard to deal with them not havingjake2003-06-181-0/+2
| | | | | a real vm_page right now. This fixes a panic when processes with resident device mappings fork, such as the X server.
* Further cleanup of the sparc64 busdma implementation:tmm2003-06-187-365/+190
| | | | | | | | | | | | | | | | | | | | | | | | | - Move prototypes for sparc64-specific helper functions from bus.h to bus_private.h - Move the method pointers from struct bus_dma_tag into a separate structure; this saves some memory, and allows to use a single method table for each busdma backend, so that the bus drivers need no longer be changed if the methods tables need to be modified. - Remove the hierarchical tag method lookup. It was never really useful, since the layering is fixed, and the current implementations do not need to call into parent implementations anyway. Each tag inherits its method table pointer and cookie from the parent (or the root tag) now, and the method wrapper macros directly use the method table of the tag. - Add a method table to the non-IOMMU backend, remove unnecessary prototypes, remove the extra parent tag argument. - Rename sparc64_dmamem_alloc_map() and sparc64_dmamem_free_map() to sparc64_dma_alloc_map() and sparc64_dma_free_map(), move them to a better place and use them for all map allocations and deallocations. - Add a method table to the iommu backend, and staticize functions, remove the extra parent tag argument. - Change the psycho and sbus drivers to just set cookie and method table in the root tag. - Miscellaneous small fixes.
* Add defines required for TLS support.kan2003-06-181-0/+2
|
* Moved the syscons options, kbd options and DEV_SPLASH to the MI optionsjake2003-06-186-158/+33
| | | | file.
* Now that most of this file is new, stylify the rest and correct theharti2003-06-181-59/+57
| | | | style bugs (space/tab) introduced by me.
* Sleep on "-" in our normal state to simplify debugging.phk2003-06-182-3/+5
|
* Style: __FBSDID().harti2003-06-185-10/+16
|
* Add "GEOM_FOX", a class which detects and selects between multiplephk2003-06-186-0/+480
| | | | | | | | | | | | | | | | | | | redundant paths to the same device. This class reacts to a label in the first sector of the device, which is created the following way: # "0123456789abcdef012345..." # "<----magic-----><-id-...> echo "GEOM::FOX someid" | dd of=/dev/da0 conv=sync NB: Since the fact that multiple disk devices are in fact the same device is not known to GEOM, the geom taste/spoil process cannot fully catch all corner cases and this module can therefore be confused if you do the right wrong things. NB: The disk level drivers need to do the right thing for this to be useful, and that is not by definition currently the case.
* Add missing */phk2003-06-181-1/+1
|
* Lock the vm object when freeing a vm page.alc2003-06-181-0/+14
|
* - Add support for DT_FLAGS.mdodd2003-06-181-5/+51
| | | | - Define various things from the most recent ELF spec.
* Fix a performance bug in all of the various implementations ofalc2003-06-184-4/+4
| | | | | uma_small_alloc(): They always zeroed the page regardless of what the caller requested.
* Handle recursion on the vm_page_queue_mtx manually in pmap_qenter andjake2003-06-171-4/+10
| | | | | | pmap_qremove, in order to avoid making the mutex recursable. Discussed with: alc
* - Use a more robust mechanism for determining whether or not a kse is on ajeff2003-06-171-2/+1
| | | | kseq.
OpenPOWER on IntegriCloud