summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
...
* MFp4: Add two options for gnop(8)'s 'create' command:pjd2004-07-192-16/+74
| | | | | -o offset - specifies where to start on the original provider -s size - specifies size of the transparent provider
* Use the version field to identify the partial context used bygrehan2004-07-191-0/+1
| | | | KSE process-scope threads.
* Reimplement contigmalloc(9) with an algorithm which stands a greatly-green2004-07-194-63/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | improved chance of working despite pressure from running programs. Instead of trying to throw a bunch of pages out to swap and hope for the best, only a range that can potentially fulfill contigmalloc(9)'s request will have its contents paged out (potentially, not forcibly) at a time. The new contigmalloc operation still operates in three passes, but it could potentially be tuned to more or less. The first pass only looks at pages in the cache and free pages, so they would be thrown out without having to block. If this is not enough, the subsequent passes page out any unwired memory. To combat memory pressure refragmenting the section of memory being laundered, each page is removed from the systems' free memory queue once it has been freed so that blocking later doesn't cause the memory laundered so far to get reallocated. The page-out operations are now blocking, as it would make little sense to try to push out a page, then get its status immediately afterward to remove it from the available free pages queue, if it's unlikely to have been freed. Another change is that if KVA allocation fails, the allocated memory segment will be freed and not leaked. There is a sysctl/tunable, defaulting to on, which causes the old contigmalloc() algorithm to be used. Nonetheless, I have been using vm.old_contigmalloc=0 for over a month. It is safe to switch at run-time to see the difference it makes. A new interface has been used which does not require mapping the allocated pages into KVA: vm_page.h functions vm_page_alloc_contig() and vm_page_release_contig(). These are what vm.old_contigmalloc=0 uses internally, so the sysctl/tunable does not affect their operation. When using the contigmalloc(9) and contigfree(9) interfaces, memory is now tracked with malloc(9) stats. Several functions have been exported from kern_malloc.c to allow other subsystems to use these statistics, as well. This invalidates the BUGS section of the contigmalloc(9) manpage.
* Add partial pmap locking.alc2004-07-192-0/+27
| | | | Tested by: marcel@
* Add a #error requiring KDB if DDB is specified. (This can probably besilby2004-07-191-0/+3
| | | | relocated to a better place, if one exists.)
* Empty GENERIC.hints file needed by make release.grehan2004-07-191-0/+1
| | | | Noticed by: Suleiman Souhlal <refugee@segfaulted.com>
* When calling scheduler entrypoints for creating new threads and processes,julian2004-07-188-43/+46
| | | | | | | | | | | specify "us" as the thread not the process/ksegrp/kse. You can always find the others from the thread but the converse is not true. Theorotically this would lead to runtime being allocated to the wrong entity in some cases though it is not clear how often this actually happenned. (would only affect threaded processes and would probably be pretty benign, but it WAS a bug..) Reviewed by: peter
* Now we have NO_ADAPTIVE_MUTEXES option, so use it here too.pjd2004-07-181-1/+1
| | | | Missed by: scottl
* Reverse a lock/unlock pair that were the wrong way around in some code thatjulian2004-07-181-2/+2
| | | | | | is obviously not run a lot. (but is in some test cases). This code is not usually run because it covers a case that doesn't happen a lot (removing a node that has data traversing it).
* Comment clarifying debug_mpsafenet.rwatson2004-07-181-4/+5
|
* Utilize pmap_pte_quick() rather than pmap_pte() in pmap_protect(). Thealc2004-07-181-1/+3
| | | | | reason being that pmap_pte_quick() requires the page queues lock, which is already held, rather than Giant.
* After maintaining previous behaviour in writing out the core notes, it'smarcel2004-07-181-8/+5
| | | | | | | | | | | | | | | | | time now to break with the past: do not write the PID in the first note. Rationale: 1. [impact of the breakage] Process IDs in core files serve no immediate purpose to the debugger itself. They are only useful to relate a core file to a process. This can provide context to the person looking at the core file, provided one keeps track of this. Overall, not having the PID in the core file is only in very rare occasions unfortunate. 2. [reason of the breakage] Having one PRSTATUS note contain the PID, while all others contain the LWPID of the corresponding kernel thread creates an irregularity for the debugger that cannot easily be worked around. This is caused by libthread_db correlating user thread IDs to kernel thread (aka LWP) IDs and thus aware of the actual LWPIDs. Update comments accordingly.
* Fix a possible hang which apparently occurs during a warm boot (cold bootgj2004-07-181-0/+8
| | | | | | | | | | | does not display the symptom). Evidently the ifpi2 controller needs to be massaged more than it was. Note that this does not close the PR since it was filed against 4.9. MFC: 5 days PR: kern/68756 Submitted by: Ari Suutari <ari.suutari@syncrontech.com>
* Gratuitous whitespace change to un-wrap a short line.rwatson2004-07-181-2/+1
|
* The recent changes to control message passing broke some thingsdwmalone2004-07-181-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | that get certain types of control messages (ping6 and rtsol are examples). This gets the new code closer to working: 1) Collect control mbufs for processing in the controlp == NULL case, so that they can be freed by externalize. 2) Loop over the list of control mbufs, as the externalize function may not know how to deal with chains. 3) In the case where there is no externalize function, remember to add the control mbuf to the controlp list so that it will be returned. 4) After adding stuff to the controlp list, walk to the end of the list of stuff that was added, incase we added a chain. This code can be further improved, but this is enough to get most things working again. Reviewed by: rwatson
* Unbreak kernel compiles by preserving an old opt_adaptive_mutexes.h filekan2004-07-181-1/+1
| | | | name.
* Fix copy&paste bug.pjd2004-07-181-1/+1
|
* Add doxygen doc comments for most of newbus and the BUS interface.dfr2004-07-183-228/+1323
|
* Enable ADAPTIVE_MUTEXES by default by changing the sense of the option toscottl2004-07-184-7/+7
| | | | | | | | | NO_ADAPTIVE_MUTEXES. This option has been enabled by default on amd64 for quite some time, and has been extensively tested on i386 and sparc64. It shows measurable performance gains in many circumstances, and few negative effects. It would be nice in t he future if adaptive mutexes actually went to sleep after a certain amount of spinning, but that will require quite a bit more testing.
* Fix a stupid attemp to apply host arithmetics to network byte ordered data.mlaier2004-07-181-1/+1
| | | | | | | This fixes checksum for some drivers with partial H/W ckcsum offloads. Reported by: Simon 'corecode' Schubert, Devon H. O'Dell, hmp Reviewed by: Pyun YongHyeon
* I missed two pieces of the commit to this file. Robert has alreadydwmalone2004-07-181-1/+1
| | | | added one, this adds the other.
* Start the entropy device insecure/unblocked. I'll be handing overmarkm2004-07-182-5/+3
| | | | | | | responsibility for critical randomness requirements (like sshd) to rc.d/* Requested by: many
* In -CURRENT pseudo devices are not statically assigned at compile time,maxim2004-07-186-6/+6
| | | | | | remove a stale comment. PR: kern/62285
* Fix exclusive-bit leakage.pjd2004-07-181-1/+1
|
* Add support System TALKS Inc. SGC-X2ULsanpei2004-07-182-0/+5
| | | | | PR: FreeBSD-users-jp/80137 Submitted by: HORIO Shinsuke <shin@happynet.co.jp>
* Quirk for SEGRAND NP-900 USB MP3Playersanpei2004-07-181-0/+8
| | | | | | PR: kern/64563 Submitted by: Kunitada Kokubun <unix_grandy@yahoo.co.jp> MFC after: 1 week
* Only extract a physical address from a pte in pmap_extract() if the pte isalc2004-07-181-9/+13
| | | | | | | valid. Implement the protection check required by the pmap_extract_and_hold() specification. (This enables the elimination of Giant from that function.)
* Remove GIANT_REQUIRED from vmapbuf().alc2004-07-181-2/+0
|
* Remove the GIANT_REQUIRED preceding pmap_remove() inalc2004-07-181-1/+0
| | | | vm_pageout_map_deactivate_pages().
* Remove 'sg' argument to linux_sendto_hdrincl, which is what I think wasrwatson2004-07-181-1/+1
| | | | intended. This fixes the build, but might require revision.
* Drop Giant and acquire the UNIX domain socket subsystem lock a bitrwatson2004-07-181-4/+4
| | | | | | | | | earlier in unp_connect() so that vp->v_socket can't change between our copying its value to a local variable and later use of that variable. This may have been responsible for a panic during shutdown that I experienced where simultaneous closing of a listen socket by rpcbind and a new connection being made to rpcbind by mountd.
* m_tag_copy takes an additional "how" parameter in FreeBSD.mlaier2004-07-181-0/+8
| | | | Submitted by: rwatson
* Fix macro so that we don't get missing initializer warnings.alfred2004-07-171-1/+3
|
* Change named parameters from max (which conflicts with a macro in libkern.h)alfred2004-07-171-2/+2
| | | | to maxval.
* Remedy my omission of one change in the prevision revision: pmap_remove()alc2004-07-171-0/+3
| | | | must pin the current thread in order to call pmap_pte_quick().
* Fix typo.davidxu2004-07-171-1/+1
|
* - Utilize pmap_pte_quick() rather than pmap_pte() in pmap_remove() andalc2004-07-171-2/+4
| | | | | | | pmap_remove_page(). The reason being that pmap_pte_quick() requires the page queues lock, which is already held, rather than Giant. - Assert that the page queues lock is held in pmap_remove_page() and pmap_remove_pte().
* Fix the !INET6 build.dwmalone2004-07-171-0/+4
| | | | Reported by: alc
* Add a kern_setsockopt and kern_getsockopt which can read the optiondwmalone2004-07-173-99/+110
| | | | | | values from either user land or from the kernel. Use them for [gs]etsockopt and to clean up some calls to [gs]etsockopt in the Linux emulation code that uses the stackgap.
* The tcp syncache code was leaving the IPv6 flowlabel uninitialiseddwmalone2004-07-172-6/+32
| | | | | | | | | | | | for the SYN|ACK packet and then letting in6_pcbconnect set the flowlabel later. Arange for the syncache/syncookie code to set and recall the flow label so that the flowlabel used for the SYN|ACK is consistent. This is done by using some of the cookie (when tcp cookies are enabeled) and by stashing the flowlabel in syncache. Tested and Discovered by: Orla McGann <orly@cnri.dit.ie> Approved by: ume, silby MFC after: 1 month
* Merge in a stable fix from OpenBSD:mlaier2004-07-171-52/+63
| | | | | | | | | | | MFC: Fix by dhartmei@ change pf_route() loop detection: introduce a counter (number of times a packet is routed already) in the mbuf tag, allow at most four times. Fixes some legitimate cases broken by the previous change. Reviewed by: dhartmei
* Dont set "address setup timing" on newer VIA chips.sos2004-07-171-1/+2
| | | | closes PR: 69180
* Rename the sound device drivers.nyan2004-07-172-12/+14
|
* Merged from the following changes.nyan2004-07-176-60/+88
| | | | | | - sys/dev/fdc/fdc.c revision 1.281 - sys/dev/fdc/fdcvar.h revision 1.3 - sys/dev/fdc/fdc_isa.c revision 1.7
* Correct typo.nyan2004-07-171-1/+1
|
* Remove duplicate include.nyan2004-07-171-1/+0
|
* Add some PCI IDs for OHCI chips.simokawa2004-07-172-0/+30
| | | | Obtained from: DragonFly BSD
* Resurrect kld support. Support ADDR16_HA/LA relocations, and syncgrehan2004-07-171-43/+45
| | | | | the icache on module load. Requires "-mlongcall" support, in gcc >= 3.3 but needs a bugfix to support gcc arith builtins.
* Define semantic of M_SKIP_FIREWALL more precisely, i.e. also pass associatedmlaier2004-07-173-22/+34
| | | | | | | | icmp_error() packets. While here retire PACKET_TAG_PF_GENERATED (which served the same purpose) and use M_SKIP_FIREWALL in pf as well. This should speed up things a bit as we get rid of the tag allocations. Discussed with: juli
* MFamd64 revision 1.478alc2004-07-171-6/+5
| | | | Simplify pmap_remove_pages(), eliminating unnecessary indirection.
OpenPOWER on IntegriCloud