summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* ithread_schedule() now only takes one argument.cognet2004-07-021-1/+1
|
* Define __RMAN_RESOURCE_VISIBLE where appropriate.cognet2004-07-022-0/+2
|
* Fixed what appeared to be a hard sentence break.ru2004-07-021-2/+2
|
* Implement preemption of kernel threads natively in the scheduler ratherjhb2004-07-0221-46/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | than as one-off hacks in various other parts of the kernel: - Add a function maybe_preempt() that is called from sched_add() to determine if a thread about to be added to a run queue should be preempted to directly. If it is not safe to preempt or if the new thread does not have a high enough priority, then the function returns false and sched_add() adds the thread to the run queue. If the thread should be preempted to but the current thread is in a nested critical section, then the flag TDF_OWEPREEMPT is set and the thread is added to the run queue. Otherwise, mi_switch() is called immediately and the thread is never added to the run queue since it is switch to directly. When exiting an outermost critical section, if TDF_OWEPREEMPT is set, then clear it and call mi_switch() to perform the deferred preemption. - Remove explicit preemption from ithread_schedule() as calling setrunqueue() now does all the correct work. This also removes the do_switch argument from ithread_schedule(). - Do not use the manual preemption code in mtx_unlock if the architecture supports native preemption. - Don't call mi_switch() in a loop during shutdown to give ithreads a chance to run if the architecture supports native preemption since the ithreads will just preempt DELAY(). - Don't call mi_switch() from the page zeroing idle thread for architectures that support native preemption as it is unnecessary. - Native preemption is enabled on the same archs that supported ithread preemption, namely alpha, i386, and amd64. This change should largely be a NOP for the default case as committed except that we will do fewer context switches in a few cases and will avoid the run queues completely when preempting. Approved by: scottl (with his re@ hat)
* Remove duplicate FreeBSD id.njl2004-07-021-2/+0
|
* Don't announce the ethernet address when it's 00:00:00:00:00:00. It'sbrooks2004-07-021-2/+7
| | | | | not of any interest. This primairly happens when vlan(4) interfaces are created.
* Introduce GEOM_LABEL class.pjd2004-07-0210-0/+803
| | | | | | | | | | | | | | | | | | | | | | | This class is used for detecting volume labels on file systems: UFS, MSDOSFS (FAT12, FAT16, FAT32) and ISO9660. It also provide native labelization (there is no need for file system). g_label_ufs.c is based on geom_vol_ffs from Gordon Tetlow. g_label_msdos.c and g_label_iso9660.c are probably hacks, I just found where volume labels are stored and I use those offsets here, but with this class it should be easy to do it as it should be done by someone who know how. Implementing volume labels detection for other file systems also should be trivial. New providers are created in those directories: /dev/ufs/ (UFS1, UFS2) /dev/msdosfs/ (FAT12, FAT16, FAT32) /dev/iso9660/ (ISO9660) /dev/label/ (native labels, configured with glabel(8)) Manual page cleanups and some comments inside were submitted by Simon L. Nielsen, who was, as always, very helpful. Thanks!
* Get rid of the strict aliasing error by retrieving the ECDT via a tablenjl2004-07-021-2/+3
| | | | | | header pointer and then casting it to the ecdt pointer. This fixes the -O2 build. I'm unsure what changed recently to reveal this error since this code has been unchanged for months.
* - Change mi_switch() and sched_switch() to accept an optional thread tojhb2004-07-0216-38/+51
| | | | | | | | | | | | | switch to. If a non-NULL thread pointer is passed in, then the CPU will switch to that thread directly rather than calling choosethread() to pick a thread to choose to. - Make sched_switch() aware of idle threads and know to do TD_SET_CAN_RUN() instead of sticking them on the run queue rather than requiring all callers of mi_switch() to know to do this if they can be called from an idlethread. - Move constants for arguments to mi_switch() and thread_single() out of the middle of the function prototypes and up above into their own section.
* Implement SNDCTL_DSP_SETDUPLEX. This may fix sound apps which want tonetchild2004-07-023-0/+15
| | | | | | use full duplex mode. Approved by: matk
* Disable native ata support for now, too much breaksimp2004-07-021-1/+1
|
* Bring in the first chunk of altq driver modifications. This covers themlaier2004-07-0210-58/+108
| | | | | | | | | | | following drivers: bfe(4), em(4), fxp(4), lnc(4), tun(4), de(4) rl(4), sis(4) and xl(4) More patches are pending on: http://peoples.freebsd.org/~mlaier/ Please take a look and tell me if "your" driver is missing, so I can fix this. Tested-by: many No-objection: -current, -net
* Allow ptrace to deal with lwpid.davidxu2004-07-021-6/+36
| | | | Reviewed by: marcel
* Local change: Allow access to the field if it is within the regionmarks2004-07-021-67/+87
| | | | | | size rounded up to a multiple of the access byte width. This overcomes "off-by-one" programming errors in the AML often found in Toshiba laptops.
* Local diff: allow use of the disassembler.marks2004-07-021-1/+5
|
* Unchanged files that are off the vendor branch.marks2004-07-022-8/+10
|
* This commit was generated by cvs2svn to compensate for changes in r131440,marks2004-07-0210-72/+165
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * Vendor import of Intel ACPI-CA 20040527marks2004-07-0214-149/+271
| |
* | We allocate an array of pointers to the global file table whilealfred2004-07-021-1/+12
| | | | | | | | | | not holding the filelist_lock. This means the filelist can change size while allocating. Detect this race and retry the allocation.
* | Tidy up uprof locking. Mostly the fields are protected by both the procjhb2004-07-023-29/+41
| | | | | | | | | | | | | | lock and sched_lock so they can be read with either lock held. Document the locking as well. The one remaining bogosity is that pr_addr and pr_ticks should be per-thread but profiling of multithreaded apps is currently undefined.
* | - Assert that any process that has statclock called on it has both ajhb2004-07-021-11/+10
| | | | | | | | | | | | | | | | stats structure and a vmspace as this should always be true rather than checking the always true condition in an if statement. - Remove never-false check: if ((ru = &pstats->p_ru) != NULL) - Remove pstats variable that is only used once and inline its one use instead.
* | Allocate s/g segments in the tag rather than on the stack.scottl2004-07-021-30/+35
| |
* | - Don't use a variable to point to the user area that we only use once.jhb2004-07-021-15/+10
| | | | | | | | | | | | Just use p2->p_uarea directly instead. - Remove an old and mostly bogus assertion regarding p2->p_sigacts. - Use RANGEOF macro ala fork1() to clean up bzero/bcopy of p_stats.
* | Add support for the VIA Apollo KT400/400A/600 AGP host bridges which usejhb2004-07-022-0/+6
| | | | | | | | | | | | | | the VIA v3 register offsets. PR: 68545 Submitted by: Ariff Abdullah <skywizard@mybsd.org.my>
* | Change the thread ID (thr_id_t) used for 1:1 threading from being amarcel2004-07-026-44/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pointer to the corresponding struct thread to the thread ID (lwpid_t) assigned to that thread. The primary reason for this change is that libthr now internally uses the same ID as the debugger and the kernel when referencing to a kernel thread. This allows us to implement the support for debugging without additional translations and/or mappings. To preserve the ABI, the 1:1 threading syscalls, including the umtx locking API have not been changed to work on a lwpid_t. Instead the 1:1 threading syscalls operate on long and the umtx locking API has not been changed except for the contested bit. Previously this was the least significant bit. Now it's the most significant bit. Since the contested bit should not be tested by userland, this change is not expected to be visible. Just to be sure, UMTX_CONTESTED has been removed from <sys/umtx.h>. Reviewed by: mtm@ ABI preservation tested on: i386, ia64
* | Regen.marcel2004-07-029-13/+13
| |
* | Bump __FreeBSD_version for package tools revision 20040629eik2004-07-021-1/+1
| |
* | When shutting down the syncer kernel thread, first tell it to runtruckman2004-07-011-6/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | faster and iterate to over its work list a few times in an attempt to empty the work list before the syncer terminates. This leaves fewer dirty blocks to be written at the "syncing disks" stage and keeps the the "giving up on N buffers" problem from being triggered by the presence of a large soft updates work list at system shutdown time. The downside is that the syncer takes noticeably longer to terminate. Tested by: "Arjan van Leeuwen" <avleeuwen AT piwebs DOT com> Approved by: mckusick
* | On receiving 3 duplicate acknowledgements, SACK recovery was not being ↵jayanth2004-07-012-14/+40
| | | | | | | | | | | | | | | | | | | | | | entered correctly. Fix this problem by separating out the SACK and the newreno cases. Also, check if we are in FASTRECOVERY for the sack case and if so, turn off dupacks. Fix an issue where the congestion window was not being incremented by ssthresh. Thanks to Mohan Srinivasan for finding this problem.
* | PR kern/68474:tackerman2004-07-011-2/+2
| | | | | | | | Changed if_ipending to if_flags
* | Remove stray i386 math emulator references.scottl2004-07-011-7/+1
| |
* | MFNetBSD.le2004-07-011-2/+3
| | | | | | | | | | | | | | rev 1.66, author: mycroft Fix an endianness problem (EHCI_NULL was being double-swapped). Obtained from: NetBSD
* | MFNetBSD.le2004-07-011-2/+5
| | | | | | | | | | | | | | | | rev. 1.68, author: mycroft Ignore a port error that happens to come in at the same time as a connect status change. Some root hubs seem to report both. Obtained from: NetBSD
* | Bumped document date.ru2004-07-011-5/+7
| | | | | | | | | | Fixed markup. Fixed examples to match the new API.
* | Remove duplicate FreeBSD idimp2004-07-011-3/+0
| |
* | While this file still needs __RMAN_RESOURCE_VISIBLE to get the size ofimp2004-07-011-6/+9
| | | | | | | | | | the struct resource for a malloc, it no longer needs it for the r_ elements of struct resource with this commit.
* | After re-exporting rman, et al, __RMAN_RESOURCE_VISIBLE is no longerimp2004-07-011-1/+0
| | | | | | | | | | necessary for this file. It just needed the size and guts of struct rman.
* | Add support to the uftdi driver for Intrepid Control Systems' vehiclebrooks2004-07-013-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bus interfaces. These interfaces use the FTDI chipset with different Vendor and Product IDs. Add two additional baud rate enumerations. The vehicle bus interfaces use a baud rate of 2000000. Also add 3000000 as it is the other FTDI baud divisor special case. I've commited a slightly different patch from that provided in the PR as I changed the matching code a bit yesterday. Submitted by: Mike Durian <durian at shadetreesoftware.com> PR: kern/67357
* | Add ability to set start/end for rmanimp2004-07-011-0/+12
| |
* | Soften __RMAN_RESOURCE_VISIBLE a little: expose rman and theimp2004-07-011-6/+7
| | | | | | | | | | | | | | resource_head types. Also add a way to set start and end so fewer things need to reach into struct resource. Pointy hat to: imp for breaking the build on so many platforms.
* | Remove unused argument for good.pjd2004-07-011-2/+2
| |
* | Fix build: the return type for t_break changed from int to void.mp2004-07-012-6/+4
| |
* | Catch up with __RMAN_RESOURCE_VISIBLE enough to get GENERIC to buildgallatin2004-07-0110-0/+10
| |
* | Free only if pointer isn't NULL.pjd2004-07-011-1/+2
| |
* | This needs __RMAN_RESOURCE_VISIBLE if PC98 is defined.nyan2004-07-011-0/+3
| |
* | MFi386: revision 1.1163nyan2004-07-011-0/+1
| |
* | Merged from sys/dev/sio/sio.c revision 1.446.nyan2004-07-012-6/+4
| |
* | Modify loop test when cycling through phys_avail array. It's possiblegrehan2004-07-013-6/+12
| | | | | | | | | | for an OpenFirmware implementation to have a single memory region (hello PearPC).
* | Catch up with __RMAN_RESOURCE_VISIBLE changegrehan2004-07-018-0/+25
| |
* | Move soft structs back to C files to avoid exposing rman fieldsgrehan2004-07-012-18/+1
| | | | | | | | to clients now that it's protected with __RMAN_RESOURCE_VISIBLE
OpenPOWER on IntegriCloud