summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Adaptive mutexes should have the same deadlock detection properties thatkris2007-10-301-0/+1
| | | | | | default (errorcheck) mutexes do. Noticed by: davidxu
* Add my recent work of adaptive spin mutex code. Use two environments variabledavidxu2007-10-303-47/+50
| | | | | | | | | | | | | | | | | | | | | | | | | to tune pthread mutex performance: 1. LIBPTHREAD_SPINLOOPS If a pthread mutex is being locked by another thread, this environment variable sets total number of spin loops before the current thread sleeps in kernel, this saves a syscall overhead if the mutex will be unlocked very soon (well written application code). 2. LIBPTHREAD_YIELDLOOPS If a pthread mutex is being locked by other threads, this environment variable sets total number of sched_yield() loops before the currrent thread sleeps in kernel. if a pthread mutex is locked, the current thread gives up cpu, but will not sleep in kernel, this means, current thread does not set contention bit in mutex, but let lock owner to run again if the owner is on kernel's run queue, and when lock owner unlocks the mutex, it does not need to enter kernel and do lots of work to resume mutex waiters, in some cases, this saves lots of syscall overheads for mutex owner. In my practice, sometimes LIBPTHREAD_YIELDLOOPS can massively improve performance than LIBPTHREAD_SPINLOOPS, this depends on application. These two environments are global to all pthread mutex, there is no interface to set them for each pthread mutex, the default values are zero, this means spinning is turned off by default.
* Selecting amd and a few other things in the Networking config sectionkensmith2007-10-302-5/+14
| | | | | | | | | | | | | | caused a segfault. It turns out that in pre-7.0 systems if you do getenv("amd_enable=YES") it will return the setting of the environment variable "amd_enable" but now it returns NULL. I think I found the places where sysinstall was potentially relying on that old behavior. Fix is to make a copy of the string to be used for the getenv(3) call, look for a '=' character in it, and replace it with '\0' if one is found. Stuck to sysinstall's typical coding standards despite urges to do otherwise. PR: 117642 MFC after: 2 days
* Never use getenv("HOME") without checking for NULL and non-zerokevlo2007-10-302-3/+11
| | | | Obtained from: OpenBSD
* Setting sc->mii_anegticks to MII_ANEGTICKS_GIGE in rgephy_attach()yongari2007-10-301-1/+0
| | | | | | is redundant. mii_phy_add_media() already takes care of that. Pointed out by: marius
* Implement per-object type consistency checks for labels passed torwatson2007-10-301-20/+65
| | | | | | 'internalize' operations rather than using a single common check. Obtained from: TrustedBSD Project
* Move nvram out of DEFAULTS. There really isn't a lot of justificationpeter2007-10-294-2/+6
| | | | | for consuming the memory. The module works just fine in the unlikely case that this is needed. It can still be compiled into a custom kernel.
* - Remove MIIF_NOISOLATE; there's generally no reason to let gentbi(4)marius2007-10-291-2/+1
| | | | | | | | | | set this flag and it was more or less just copied and pasted from another FreeBSD driver while porting this driver from NetBSD, whose gentbi(4) doesn't set MIIF_NOISOLATE either. - Fix spelling in a comment. OK'ed by: yongari MFC after: 3 months
* kill commented out line of code.imp2007-10-291-1/+0
|
* Add a new "non-portable" mutex type, PTHREAD_MUTEX_ADAPTIVE_NP. Thiskris2007-10-293-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | is also implemented in glibc and is used by a number of existing applications (mysql, firefox, etc). This mutex type is a default mutex with the additional property that it spins briefly when attempting to acquire a contested lock, doing trylock operations in userland before entering the kernel to block if eventually unsuccessful. The expectation is that applications requesting this mutex type know that the mutex is likely to be only held for very brief periods, so it is faster to spin in userland and probably succeed in acquiring the mutex, than to enter the kernel and sleep, only to be woken up almost immediately. This can help significantly in certain cases when pthread mutexes are heavily contended and held for brief durations (such as mysql). Spin up to 200 times before entering the kernel, which represents only a few us on modern CPUs. No performance degradation was observed with this value and it is sufficient to avoid a large performance drop in mysql performance in the heavily contended pthread mutex case. The libkse implementation is a NOP. Reviewed by: jeff MFC after: 3 days
* fix typo in code normally not compiled in.julian2007-10-291-1/+1
|
* Allow RFCOMM servers to bind to a ''wildcard'' RFCOMM channelemax2007-10-291-31/+53
| | | | | | | | | | | zero (0). Actual RFCOMM channel will be assigned after listen(2) call is done on a RFCOMM socket bound to a ''wildcard'' RFCOMM channel zero (0). Address locking issues in ng_btsocket_rfcomm_bind() Submitted by: Heiko Wundram (Beenic) < wundram at beenic dot net > MFC after: 1 week
* Merge OpenBSM 1.0 changes to src/sys/bsm:rwatson2007-10-291-39/+1
| | | | | | | - Remove AU_.* hard-coded audit class constants, as udit classes are now entirely dynamically configured using /etc/security/audit_class. Obtained from: TrustedBSD Project
* Regenerate config.h after import of OpenBSM 1.0.rwatson2007-10-291-5/+5
| | | | Obtained from: TrustedBSD Project
* Resolve conflicts from import of OpenBSM 1.0: maintain $FreeBSD$ tags inrwatson2007-10-292-5/+9
| | | | /etc/security audit configuration files.
* This commit was generated by cvs2svn to compensate for changes in r173143,rwatson2007-10-2926-8223/+8482
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * Vendor import TrustedBSD OpenBSM 1.0, with the following change historyrwatson2007-10-2929-8267/+8492
| | | | | | | | | | | | | | | | | | | | | | | | | | | | since the last import: OpenBSM 1.0 - Fix bug in auditreduce(8) which resulted in a memory fault/crash when the user specified an event name with -m. - Remove AU_.* hard-coded audit class constants, as udit classes are now entirely dynamically configured using /etc/security/audit_class. MFC after: 3 days Obtained from: TrustedBSD Project
* | Replace use of AU_NULL with 0 when no audit classes are in use; thisrwatson2007-10-292-4/+4
| | | | | | | | | | | | | | | | supports the removal of hard-coded audit class constants in OpenBSM 1.0. All audit classes are now dynamically configured via the audit_class database. Obtained from: TrustedBSD Project
* | Canonicalize names of local variables.rwatson2007-10-291-66/+66
| | | | | | | | | | | | Add some missing label checks in mac_test. Obtained from: TrustedBSD Project
* | Clean up after the previous commit.brueffer2007-10-291-3/+4
| |
* | Merge Neterion if_nxge driver version 2.0.9.11230 with the followingrwatson2007-10-2948-16400/+15564
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | changes: 01 - Enhanced LRO: LRO feature is extended to support multi-buffer mode. Previously, Ethernet frames received in contiguous buffers were offloaded. Now, frames received in multiple non-contiguous buffers can be offloaded, as well. The driver now supports LRO for jumbo frames. 02 - Locks Optimization: The driver code was re-organized to limit the use of locks. Moreover, lock contention was reduced by replacing wait locks with try locks. 03 - Code Optimization: The driver code was re-factored to eliminate some memcpy operations. Fast path loops were optimized. 04 - Tag Creations: Physical Buffer Tags are now optimized based upon frame size. For better performance, Physical Memory Maps are now re-used. 05 - Configuration: Features such as TSO, LRO, and Interrupt Mode can be configured either at load or at run time. Rx buffer mode (mode 1 or mode 2) can be configured at load time through kenv. 06 - Driver Statistics: Run time statistics are enhanced to provide better visibility into the driver performance. 07 - Bug Fixes: The driver contains fixes for the problems discovered and reported since last submission. 08 - MSI support: Added Message Signaled Interrupt feature which currently uses 1 message. 09 Removed feature: Rx 3 buffer mode feature has been removed. Driver now supports 1, 2 and 5 buffer modes of which 2 and 5 buffer modes can be used for header separation. 10 Compiler warning: Fixed compiler warning when compiled for 32 bit system. 11 Copyright notice: Source files are updated with the proper copyright notice. MFC after: 3 days Submitted by: Alicia Pena <Alicia dot Pena at neterion dot com>, Muhammad Shafiq <Muhammad dot Shafiq at neterion dot com>
* | Resort TrustedBSD MAC Framework policy entry point implementations andrwatson2007-10-299-4684/+4744
| | | | | | | | | | | | | | declarations to match the object, operation sort order in the framework itself. Obtained from: TrustedBSD Project
* | Add support for `make -nn' dry runs to this makefile. Basically,yar2007-10-291-16/+16
| | | | | | | | | | | | | | it's just a matter of adding a `${_+_}' prefix before each submake invokation. This allows a dry run to proceed down to, but not including, leaf commands. (See <sys.mk> for how ${_+_} is set depending on the number of -n flags.)
* | Add 88E1116/88E1116R PHY support code that takes the PHY out ofyongari2007-10-292-0/+15
| | | | | | | | | | | | | | power-down mode. PR: kern/114086 MFC after: 3 days
* | Add a newer RTL8211B(L) PHY.yongari2007-10-291-2/+2
| |
* | Add support for RealTek RTL8211B(L) PHY. It's based on the patchyongari2007-10-292-28/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | made by Michael Eisele and the patch was slightly modified by me. With this change several NVIDIA ethernet controllers(e.g. MCP61) works. RTL8211B(L) is RealTek's new gigabit PHY. The PHY has several features including crossover correction, polarity correction as well as supporting triple speed(10/100/1000bps). Data transfer between MAC and PHY is via RGMII for 1000baseT, MII for 10baseT/100baseTX. Unfortunately, RealTek used the same model number for RTL8211B(L) PHY so there is no way to discriminate between RTL8211B(L) and its predecessors. ATM RTL8211B uses revision number 2 so checking the revision number seems to be only way to identify it. Obtained from: Michael Eisele [1] Tested by: clemens fischer < ino-qc AT spotteswoode DOT de DOT eu DOT org >
* | o RTL8169S/8110S integrated PHY and RTL8211B are gigabit PHYs so setyongari2007-10-291-7/+14
| | | | | | | | | | | | | | | | | | | | | | mii_anegticks to MII_ANEGTICKS_GIGE and use it. Previously it used to MII_ANEGTICKS which may not be enough to wait before retrying autonegotiation process at 1000bps. o Reset autonegotation timer if media option is not IFM_AUTO or we got a valid link. o Announce link loss right after it happends. o Autonegiation is retried every mii_anegticks seconds. o Report link state changes right after setting autonegotiation.
* | Remove 3rd clause and renumber after getting permission from theimp2007-10-291-4/+1
| | | | | | | | author (quite some time ago).
* | Regen:benjsc2007-10-291-489/+1255
| | | | | | | | | | | | | | | | * Hart: rev 652 of pcidevs.txt (2007-09-24) * Boemler: vendors.txt (2007-10-25) Approved by: mlaier (mentor) MFC after: 5 days
* | Fix an error in bit shifting logic for network addresses. The routemtm2007-10-291-20/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | command would add incorrect routing entries if network numbers weren't fully "spelled" out according to their class. For example: # route add 128.0/16 (works) # route add 128/16 (doesn't work) # route add 193.0.0/24 (works) # route add 193/24 (doesn't work) Also, rework the way a netmask is deduced from network number if it [netmask] is not specified. Submitted by: Nuno Antunes <nuno.antunes@gmail.com> (mostly) MFC after: 1 week
* | Fix typo in code obviously not being compiled on any of my machines.julian2007-10-281-1/+1
| | | | | | | | found by: rdivacky@
* | - Make failure to route a ISA interrupt non fatal. Apparently themarius2007-10-281-14/+16
| | | | | | | | | | | | | | | | | | Blade 1500/SX1500 boards have inherited the firmware bug of the AX1105 mainboards to not include an interrupt map entry for the parallel port controller (for the AX1105 the heuristic code for E450s probably erroneously kicks in and guesses an interrupt). - Take advantage of bus_generic_setup_intr(9). - Fix some whitespace bugs.
* | - Add constants for the different memory types in the SMAP table.jhb2007-10-287-38/+37
| | | | | | | | | | - Use the SMAP types and constants from <machine/pc/bios.h> in the boot code rather than duplicating it.
* | Add missing mac_test labeling and sleep checks for the syncache.rwatson2007-10-281-0/+48
| | | | | | | | | | Discussed with: csjp Obtained from: TrustedBSD Project
* | Minor debug message fix.mav2007-10-281-1/+1
| |
* | Garbage collect mac_mbuf_create_multicast_encap TrustedBSD MAC Frameworkrwatson2007-10-288-87/+0
| | | | | | | | | | | | | | | | entry point, which is no longer required now that we don't support old-style multicast tunnels. This removes the last mbuf object class entry point that isn't init/copy/destroy. Obtained from: TrustedBSD Project
* | Continue to move from generic network entry points in the TrustedBSD MACrwatson2007-10-2812-90/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Framework by moving from mac_mbuf_create_netlayer() to more specific entry points for specific network services: - mac_netinet_firewall_reply() to be used when replying to in-bound TCP segments in pf and ipfw (etc). - Rename mac_netinet_icmp_reply() to mac_netinet_icmp_replyinplace() and add mac_netinet_icmp_reply(), reflecting that in some cases we overwrite a label in place, but in others we apply the label to a new mbuf. Obtained from: TrustedBSD Project
* | fix sorting of 'tdnam' keyword in keyword list.julian2007-10-281-2/+1
| |
* | Move towards more explicit support for various network protocol stacksrwatson2007-10-2817-87/+421
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in the TrustedBSD MAC Framework: - Add mac_atalk.c and add explicit entry point mac_netatalk_aarp_send() for AARP packet labeling, rather than using a generic link layer entry point. - Add mac_inet6.c and add explicit entry point mac_netinet6_nd6_send() for ND6 packet labeling, rather than using a generic link layer entry point. - Add expliict entry point mac_netinet_arp_send() for ARP packet labeling, and mac_netinet_igmp_send() for IGMP packet labeling, rather than using a generic link layer entry point. - Remove previous genering link layer entry point, mac_mbuf_create_linklayer() as it is no longer used. - Add implementations of new entry points to various policies, largely by replicating the existing link layer entry point for them; remove old link layer entry point implementation. - Make MAC_IFNET_LOCK(), MAC_IFNET_UNLOCK(), and mac_ifnet_mtx global to the MAC Framework rather than static to mac_net.c as it is now needed outside of mac_net.c. Obtained from: TrustedBSD Project
* | Perform explicit label type checks for externalize entry points, rather thanrwatson2007-10-281-10/+70
| | | | | | | | | | | | a generic initialized test. Obtained from: TrustedBSD Project
* | Actually the keyword tells network.subr to launch wpa_supplicant on themiwi2007-10-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | selected interface. wpa_supplicant does not only handle WPA authentication but also EAP/LEAP as well as WEP encryption or no encryption at all. The patch clarifies this. PR: 117046 Submitted by: lme Reviewed by: bruffer Approved by: jkois (mentor)
* | Correct, add or improve attributions for, and add to quotations fromdougb2007-10-281-9/+19
| | | | | | | | | | | | "The Wizard of Oz" One duplicate was also removed that wasn't the right quote anyway
* | When skipping input data, don't overflow a 32-bit size_t.kientzle2007-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This can only happen on 32-bit systems when you're reading an uncompressed archive and the skip request is an exact multiple of 4G (e.g., skipping a tar entry with an 8G body). The symptom is that the read_ahead() ends up returning zero bytes, and the extraction stops with a premature end-of-file. Using '1' here is more correct anyway, as it allows read_ahead() to function opportunistically and minimize copying. MFC after: 5 days
* | Micro-optimization of prev. commit, changeache2007-10-271-1/+1
| | | | | | | | (_c < 0 || _c >= 128) to (_c & ~0x7F)
* | Make sure we are incrementing the read count for each audit pipe read.csjp2007-10-271-0/+1
| | | | | | | | MFC after: 1 week
* | Don't return an error from resume() if execution of _DIS fails for somejhb2007-10-271-3/+4
| | | | | | | | | | | | | | reason (not all BIOSen have _DIS methods for all link devices for example). This matches the behavior of attach() with respect to _DIS as well. Submitted by: njl
* | Change the roundrobin implementation in the 4BSD scheduler to trigger ajhb2007-10-271-29/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | userland preemption directly from hardclock() via sched_clock() when a thread uses up a full quantum instead of using a periodic timeout to cause a userland preemption every so often. This fixes a potential deadlock when IPI_PREEMPTION isn't enabled where softclock blocks on a lock held by a thread pinned or bound to another CPU. The current thread on that CPU will never be preempted while softclock is blocked. Note that ULE already drives its round-robin userland preemption from sched_clock() as well and always enables IPI_PREEMPT. MFC after: 1 week
* | o Fix indentation. No functional changes.maxim2007-10-271-10/+10
| |
* | Make the examine command honor db_pager_quit so you can use 'q' or 'x'jhb2007-10-271-1/+1
| | | | | | | | | | | | at the pager prompt to abort an examine command that spans multiple pages. MFC after: 1 week
* | Add a comment explaining why disc(4) bears the IFF_LOOPBACK flag.yar2007-10-271-0/+10
| | | | | | | | | | It should be the final follow-up to an old yet unfinished discussion on whether IFF_LOOPBACK is necessary for disc(4) and why.
OpenPOWER on IntegriCloud