summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Implement the "nocpu" directive.ru2005-11-038-8/+8
| | | | Requested by: rwatson
* Detect memory leaks when memory type is being destroyed.pjd2005-11-031-0/+21
| | | | | | This is very helpful for detecting kernel modules memory leaks on unload. Discussed and reviewed by: rwatson
* Appropriate NULL pointer checking to avoid mysterious panic duringariff2005-11-032-2/+2
| | | | | | device cloning. Approved by: netchild (mentor)
* Remove the remaining spl*() calls. Add some assertions. Eliminate somealc2005-11-031-13/+2
| | | | excessive white space.
* Restore part of the code dropped in rev. 1.25 that makes sure ether_demux()ru2005-11-031-0/+9
| | | | | will receive an mbuf chain with Ethernet header in the data portion of the first mbuf.
* In nfs_flush(), clear the NMODIFIED bit only if there are no dirtyps2005-11-031-1/+2
| | | | | | | | | | | buffers *and* there are no buffers queued up for writing. The bug was that NMODIFIED was being cleared even while there were buffers scheduled to be written out, which leads to all sorts of interesting bugs - one where the file could shrink (because of a post-op getattr load, say) causing data in buffer(s) queued for write to be tossed, resulting in data corruption. Submitted by: Mohan Srinivasan
* Consistently use OPT_* macros to test/set boot options.ru2005-11-032-12/+24
|
* Fix for a race between the thread transmitting the request and theps2005-11-031-1/+5
| | | | | | thread processing the reply. Submitted by: Mohan Srinivasan
* Support sending realtime signal information via signal queue, realtimedavidxu2005-11-031-8/+40
| | | | signal memory is pre-allocated, so kernel can always notify user code.
* Cleanup some signal interfaces. Now the tdsignal function acceptsdavidxu2005-11-036-86/+67
| | | | | | | | | both proc pointer and thread pointer, if thread pointer is NULL, tdsignal automatically finds a thread, otherwise it sends signal to given thread. Add utility function psignal_event to send a realtime sigevent to a process according to the delivery requirement specified in struct sigevent.
* Oops, don't change tdsignal call.davidxu2005-11-031-1/+1
|
* Add thread_find() function to search a thread by lwpid.davidxu2005-11-033-12/+24
|
* Calling setrlimit from 32bit apps could potentially increase certainps2005-11-025-8/+14
| | | | | | | limits beyond what should be capiable in a 32bit process, so we must fixup the limits. Reviewed by: jhb
* Change the x86 code to allocate IDT vectors on-demand when an interruptjhb2005-11-028-191/+433
| | | | | | | | | | | | | | | | source is first enabled similar to how intr_event's now allocate ithreads on-demand. Previously, we would map IDT vectors 1:1 to IRQs. Since we only have 191 available IDT vectors for I/O interrupts, this limited us to only supporting IRQs 0-190 corresponding to the first 190 I/O APIC intpins. On many machines, however, each PCI-X bus has its own APIC even though it only has 1 or 2 devices, thus, we were reserving between 24 and 32 IRQs just for 1 or 2 devices and thus 24 or 32 IDT vectors. With this change, a machine with 100 IRQs but only 5 in use will only use up 5 IDT vectors. Also, this change provides an API (apic_alloc_vector() and apic_free_vector()) that will allow a future MSI interrupt source driver to request IDT vectors for use by MSI interrupts on x86 machines. Tested on: amd64, i386
* Tests with my dual Opteron system have shown that it's possiblewpaul2005-11-027-99/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | for code to start out on one CPU when thunking into Windows mode in ctxsw_utow(), and then be pre-empted and migrated to another CPU before thunking back to UNIX mode in ctxsw_wtou(). This is bad, because then we can end up looking at the wrong 'thread environment block' when trying to come back to UNIX mode. To avoid this, we now pin ourselves to the current CPU when thunking into Windows code. Few other cleanups, since I'm here: - Get rid of the ndis_isr(), ndis_enable_interrupt() and ndis_disable_interrupt() wrappers from kern_ndis.c and just invoke the miniport's methods directly in the interrupt handling routines in subr_ndis.c. We may as well lose the function call overhead, since we don't need to export these things outside of ndis.ko now anyway. - Remove call to ndis_enable_interrupt() from ndis_init() in if_ndis.c. We don't need to do it there anyway (the miniport init routine handles it, if needed). - Fix the logic in NdisWriteErrorLogEntry() a little. - Change some NDIS_STATUS_xxx codes in subr_ntoskrnl.c into STATUS_xxx codes. - Handle kthread_create() failure correctly in PsCreateSystemThread().
* Mandatory mbuf cluster reference counting and groundwork for UMAandre2005-11-024-179/+270
| | | | | | | | | | | | | | | | | | | | | | | | based jumbo 9k and jumbo 16k cluster support. All mbuf's with external storage attached are mandatory reference counted. For clusters and jumbo clusters UMA provides the refcnt storage directly. It does not have to be separatly allocated. Any other type of external storage gets its own refcnt allocated from an UMA mbuf refcnt zone instead of normal kernel malloc. The refcount API MEXT_ADD_REF() and MEXT_REM_REF() is no longer publically accessible. The proper m_* functions have to be used. mb_ctor_clust() and mb_dtor_clust() both handle normal 2K as well as 9k and 16k clusters. Clusters and jumbo clusters may be obtained without attaching it immideatly to an mbuf. This is for high performance cluster allocation in network drivers where mbufs are attached after the cluster has been filled. Tested by: rwatson Sponsored by: TCP/IP Optimizations Fundraise 2005
* Fix several races between socket closure and node/hookglebius2005-11-021-77/+97
| | | | | | | | | | | | | destruction: - Backout 1.62, since it doesn't fix all possible problems. - Upon node creation, put an additional reference on node. - Add a mutex and refcounter to struct ngsock. Netgraph node, control socket and data socket all count as references. - Introduce ng_socket_free_priv() which removes one reference from ngsock, and frees it when all references has gone. - No direct pointers between pcbs and node, all pointing is done via struct ngsock and protected with mutex.
* Fix two races which happen when netgraph is restructuring:glebius2005-11-021-8/+47
| | | | | | | | | | | | - Introduce ng_topo_mtx, a mutex to protect topology changes. - In ng_destroy_node() protect with ng_topo_mtx the process of checking and pointing at ng_deadnode. [1] - In ng_con_part2() check that our peer is not a ng_deadnode, and protect the check with ng_topo_mtx. - Add KASSERTs to ng_acquire_read/write, to make more understandible synopsis in case if called on ng_deadnode. Reported by: Roselyn Lee [1]
* Rework the ng_item queueing on nodes:glebius2005-11-022-124/+118
| | | | | | | | | | | | | - Introduce a new flags NGQF_QREADER and NGQF_QWRITER, which tell how the item should be actually applied, overriding NGQF_READER/NGQF_WRITER flags. - Do not differ between pending reader or writer. Use only one flag that is raised, when there are pending items. - Schedule netgraph ISR in ng_queue_rw(), so that callers do not need to do this job. - Fix several comments. Submitted by: julian
* Retire MT_HEADER mbuf type and change its users to use MT_DATA.andre2005-11-0221-41/+35
| | | | | | | | | | | | Having an additional MT_HEADER mbuf type is superfluous and redundant as nothing depends on it. It only adds a layer of confusion. The distinction between header mbuf's and data mbuf's is solely done through the m->m_flags M_PKTHDR flag. Non-native code is not changed in this commit. For compatibility MT_HEADER is mapped to MT_DATA. Sponsored by: TCP/IP Optimization Fundraise 2005
* Instead of a panic()ing in pmap_insert_entry() if get_pv_entry() fails,alc2005-11-021-1/+50
| | | | reclaim a pv entry by destroying a mapping to an inactive page.
* Rate limit vnode_pager_putpages printfs to once a second.ps2005-11-011-3/+8
|
* Throw the switch and turn on STOP_NMI on in GENERIC for amd64 and i386.jhb2005-11-012-0/+2
| | | | | Requested by: kris Ok'd by: scottl
* Catch up with ACPI-CA 20051021 importjkim2005-11-0110-196/+235
|
* Update to reflect import of ACPI-CA 20051021 with includes fixupsjkim2005-11-011-27/+30
|
* Local change: remove unnecessary __cdecljkim2005-11-012-2/+2
|
* Local change: remove compilation warningsjkim2005-11-014-10/+10
|
* Fix conflicts from import of Intel ACPI-CA 20051021jkim2005-11-018-497/+968
|
* Unchanged files that are off the vendor branchjkim2005-11-0113-1679/+639
|
* This commit was generated by cvs2svn to compensate for changes in r151940,jkim2005-11-012-1/+3
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * Fix few compilation problems on vendor branch.jkim2005-11-013-1/+6
| | | | | | | | These fixes will be submitted vendor.
* | This commit was generated by cvs2svn to compensate for changes in r151937,jkim2005-11-01175-14401/+22437
|\ \ | |/ | | | | which included commits to RCS files with non-trunk default branches.
| * Vendor import of Intel ACPI-CA 20051021jkim2005-11-01196-16596/+24058
| |
| * Remove old ACPICA files from the INTEL vendor branch. They were removedjhb2005-10-27141-84217/+0
| | | | | | | | | | from HEAD about 4 years ago when we started flattening out the ACPICA distribution.
* | Move HPET debugging under ACPI_TIMER in order to save a bitfield.scottl2005-11-012-2/+1
| |
* | Push down Giant into fdfree() and remove it from two of the callers.jhb2005-11-013-13/+24
| | | | | | | | | | | | | | Other callers such as some rfork() cases weren't locking Giant anyway. Reviewed by: csjp MFC after: 1 week
* | Add proper debugging infrastructure for acpi_hpet.c.scottl2005-11-012-0/+5
| |
* | Reuse ktr_unused field in ktr_header structure as ktr_tid; populaterwatson2005-11-012-2/+2
| | | | | | | | | | | | | | | | | | ktr_tid as part of gathering of ktr header data for new ktrace records. The continued use of intptr_t is required for file layout reasons, and cannot be changed to lwpid_t at this point. MFC after: 1 month Reviewed by: davidxu
* | Replace ktr_buffer pointer in struct ktr_header with a ktr_unusedrwatson2005-11-012-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | intptr_t. The buffer length needs to be written to disk as part of the trace log, but the kernel pointer for the buffer does not. Add a new ktr_buffer pointer to the kernel-only ktrace request structure to hold that pointer. This frees up an integer in the ktrace record format that can be used to hold the threadid, although older ktrace files will have a garbage ktr_buffer field (or more accurately, a kernel pointer value). MFC after: 2 weeks Space requested by: davidxu
* | Clean up one remaining 'multiple DPC thread' bogon: only bzero() onewpaul2005-11-011-0/+4
| | | | | | | | sizeof(kq_queue), not sizeof(kq_queue) * mp_ncpus.
* | Consider the zero-copy transmission of a page that was wired by mlock(2).alc2005-11-011-0/+2
| | | | | | | | | | | | | | | | If a copy-on-write fault occurs on the page, the new copy should inherit a part of the original page's wire count. Submitted by: tegge MFC after: 1 week
* | Update SIGTHR's comment.davidxu2005-11-011-1/+1
| |
* | statically configured IPv6 address is properly added/deleted nowsuz2005-10-311-75/+51
| | | | | | | | | | | | Obtained from: KAME Reported in: freebsd-net@freebsd MFC after: 1 day
* | Tie acpi_hpet.c into the module and kernel.phk2005-10-312-1/+3
| |
* | Add a basic HPET timecounter.phk2005-10-311-0/+190
| | | | | | | | It has -200 quality for now so it will not get automatically selected.
* | - Use callout_*() to manage the callout and make it MPSAFE.jhb2005-10-314-32/+22
| | | | | | | | | | | | | | - Fix locking in detach(), we only need to lock across vr_stop(). Tested by: Mike Tancsa mike at sentex dot net MFC after: 1 week
* | Instead of a panic()ing in pmap_insert_entry() if get_pv_entry()alc2005-10-312-13/+124
| | | | | | | | | | | | | | | | | | | | fails, reclaim a pv entry by destroying a mapping to an inactive page. Change the format strings in many of the assertions that were recently converted from PMAP_DIAGNOSTIC printf()s so that they are compatible with PAE. Avoid unnecessary differences between the amd64 and i386 format strings.
* | Reformat socket control messages on input/output for 32bit compatibilityps2005-10-313-24/+240
| | | | | | | | | | | | | | on 64bit systems. Submitted by: ps, ups Reviewed by: jhb
* | Hook nve(4) up in i386 and amd64 NOTES.jhb2005-10-312-0/+4
| | | | | | | | MFC after: 1 week
* | Rate limit filesystem full and out of inodes messages to once aps2005-10-311-6/+21
| | | | | | | | second.
OpenPOWER on IntegriCloud