summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * Use 300 ms as the default for RTO_MIN.tuexen2011-01-261-4/+3
| | | | | | | * Disable burst mitigation by default. * Remove unused constant. Discussed with rrs. MFC after: 3 months.
* Add support for RTL8105E PCIe Fast Ethernet controller. It seemsyongari2011-01-262-1/+8
| | | | | | | | | | | | | | the controller has a kind of embedded controller/memory and vendor applies a large set of magic code via undocumented PHY registers in device initialization stage. I guess it's a firmware image for the embedded controller in RTL8105E since the code is too big compared to other DSP fixups. However I have no idea what that magic code does and what's purpose of the embedded controller. Fortunately driver seems to still work without loading the firmware. While I'm here change device description of RTL810xE controller. H/W donated by: Realtek Semiconductor Corp.
* Add Realtek RTL8201E 10/100 PHY found in RTL8105E controller. Theyongari2011-01-262-0/+2
| | | | | | exact model name is not clear yet. All previous RTL8201 10/100 PHYs used 0x8201 in MII_PHYIDR2 which in turn makes model number 0x20 but this PHY used new model number 0x08.
* Do not use interrupt taskqueue on controllers with MSI/MSI-Xyongari2011-01-262-32/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | capability. One of reason using interrupt taskqueue in re(4) was to reduce number of TX/RX interrupts under load because re(4) controllers have no good TX/RX interrupt moderation mechanism. Basic TX interrupt moderation is done by hardware for most controllers but RX interrupt moderation through undocumented register showed poor RX performance so it was disabled in r215025. Using taskqueue to handle RX interrupt greatly reduced number of interrupts but re(4) consumed all available CPU cycles to run the taskqueue under high TX/RX network load. This can happen even with RTL810x fast ethernet controller and I believe this is not acceptable for most systems. To mitigate the issue, use one-shot timer register to moderate RX interrupts. The timer register provides programmable one-shot timer and can be used to suppress interrupt generation. The timer runs at 125MHZ on PCIe controllers so the minimum time allowed for the timer is 8ns. Data sheet says the register is 32 bits but experimentation shows only lower 13 bits are valid so maximum time that can be programmed is 65.528us. This yields theoretical maximum number of RX interrupts that could be generated per second is about 15260. Combined with TX completion interrupts re(4) shall generate less than 20k interrupts. This number is still slightly high compared to other intelligent ethernet controllers but system is very responsive even under high network load. Introduce sysctl variable dev.re.%d.int_rx_mod that controls amount of time to delay RX interrupt processing in units of us. Value 0 completely disables RX interrupt moderation. To provide old behavior for controllers that have MSI/MSI-X capability, introduce a new tunable hw.re.intr_filter. If the tunable is set to non-zero value, driver will use interrupt taskqueue. The default value of the tunable is 0. This tunable has no effect on controllers that has no MSI/MSI-X capability or if MSI/MSI-X is explicitly disabled by administrator. While I'm here cleanup interrupt setup/teardown since re(4) uses single MSI/MSI-X message at this moment.
* Add macro to test the sv_flags of any process. Change some places to testdchagin2011-01-2613-25/+27
| | | | | | | the flags instead of explicit comparing with address of known sysentvec structures. MFC after: 1 month
* Make SCTP_MAX_BURST compliant with the latest version oftuexen2011-01-261-13/+22
| | | | | the socket API ID. This is not compatible with the API in stable/8.
* Change infrastructure for SCTP_MAX_BURST to allow compliancetuexen2011-01-266-33/+43
| | | | | | | | | | with the latest socket API ID. Especially it can be disabled. Full compliance needs changing the structure used in the socket option. Since this breaks the API, it will be a seperate commit which will not be MFCed to stable/8. MFC after: 3 months.
* Unroll vgrind filter to no longer depend on vgrind(1) during buildworld.uqs2011-01-264-12/+1316
| | | | | The source files haven't been touched in ages and this is unlikely to change in the future.
* Fix typo in example getopt(1) script: $i vs $1 [1]uqs2011-01-261-17/+17
| | | | | | | | While here apply style hammer. PR: docs/154289 [1] Submitted by: Jamie Landeg Jones <jamie@bishopston.net> MFC after: 1 week
* Prison check addresses set with multicast interface options.deischen2011-01-261-6/+9
| | | | | Reviewed by: bz MFC after: 1 week
* Set td_kstack_pages for thread0. This was already being done for mostmdf2011-01-262-12/+18
| | | | | | architectures, but i386 and amd64 were missing it. Submitted by: Mohd Fahadullah <mfahadullah AT isilon DOT com>
* Add missing part of r217877.mav2011-01-261-0/+1
|
* Add ar5416RestoreChainMask() which will undo any AR5416 specific chainmaskadrian2011-01-262-0/+15
| | | | | | | overriding after calibration. This will get set for other two chain radios, such as AR9280 and later on, AR9287. It should however be a nul operation.
* Add an AR5416 workaround - force a different bias based on 2.4ghz channel ↵adrian2011-01-262-0/+67
| | | | | | frequency. Obtained from: Linux ath9k
* Treat async buffer writes from the gjournal switcher thread the same askib2011-01-261-0/+1
| | | | | | | | from syncer. We shall not sleep on running buffer space when suspending. Reproduced and tested by: pho PR: kern/154228 MFC after: 1 week
* Break out the chainmask init code into a new function - ar5416InitChainMasks() .adrian2011-01-262-8/+18
| | | | | | | | | | | ath9k does a few different things here during config - if it's an early AR5416 with two chains, it enables all three chains for calibration and then restores the chainmask to the original values after initial calibration has completed. The reason behind this commit is to begin breaking out the chainmask configuration for this specific reason; follow-up commits will add the chainmask restore in the ar5416Reset() routine.
* * fix HAL_DEBUG_INTERRUPT to be a separate bit, it was overlapping withadrian2011-01-261-1/+2
| | | | | | something else * add HAL_DEBUG_GPIO, for some GPIO related debugging I'm tinkering with at the moment.
* Hardware supported by siis(4) allows software control over activity LEDs.mav2011-01-261-0/+19
| | | | Expose that functionality to led(4) OR-ing it with regular LED activity.
* In addition to r217444 ignore also ATA status errors on DMA Auto-Activationmav2011-01-261-0/+8
| | | | | enabling request. Some HP disks reported to return ABORT error there while declaring support for this feature.
* Make device initialization sequence shorter when possible. Do not enable/mav2011-01-261-3/+9
| | | | disable already enabled/disabled SATA features.
* Add -H flag to print thread id.dchagin2011-01-262-3/+15
|
* Fix another broken datedougb2011-01-261-1/+1
|
* Clarify the availability of the noatime option on network file systemsdougb2011-01-261-2/+6
|
* Fix my fix to nfe.4, and also fix re.4dougb2011-01-262-2/+2
| | | | So just when I thought my pointy hat collection was going down ...
* Fix date in .Dddougb2011-01-261-1/+1
|
* Remove TX taskqueue and directly invoke re_start in interrupt task.yongari2011-01-252-21/+13
|
* Fix compilation with debug on.cracauer2011-01-252-3/+3
| | | | Fix segfault when TargetAddress is missing or mis-spelled in config file.
* Remove dead code.jhb2011-01-251-1/+0
| | | | MFC after: 2 weeks
* Prefer MSI-X to MSI on controllers that support MSI-X. Allyongari2011-01-252-11/+54
| | | | | | | recent PCIe controllers(RTL8102E or later and RTL8168/8111C or later) supports either 2 or 4 MSI-X messages. Unfortunately vendor did not publicly release RSS related information yet. However switching to MSI-X is one-step forward to support RSS.
* When loading dso without PT_GNU_STACK phdr, only callkib2011-01-2510-2/+26
| | | | | | | __pthread_map_stacks_exec() on architectures that allow executable stacks. Reported and tested by: marcel (ia64)
* Emit .note.GNU-stack for the syscall stubs generated by libc only onkib2011-01-251-2/+9
| | | | | | | architectures that support this .note. In particular, do not unneccessary emit the notes on ia64 and sparc64, which ABI require non-executable stacks. Tested by: marcel
* Fix get_program_var_addr() when type of the resolved symbol is functional.kib2011-01-251-1/+6
| | | | | | Use make_function_pointer then, otherwise ia64 is broken. Reported and tested by: marcel
* sh: Clean up some old comments:jilles2011-01-251-6/+3
| | | | | | | | | * There is no plan for an alternative to the command "set". * Attempting to unset a readonly variable has not raised an error for quite a while, so the order of unsetting a variable and a function with the same name does not matter. MFC after: 1 week
* Do not allocate buffer to hold data for zero-sized sections.kan2011-01-251-1/+3
|
* Disable TSO for all Realtek controllers. Experimentation showedyongari2011-01-251-7/+5
| | | | | | | | RTL8111C generated corrupted frames where TCP option header was broken. All other sample controllers I have did not show such problem so it could be RTL8111C specific issue. Because there are too many variants it's hard to tell how many controllers have such issue. Just disable TSO by default but have user override it.
* Use test(1) operators and test for the catpage not being older than theuqs2011-01-251-2/+2
| | | | | | | | | manpage. Identical mtimes (as generated by buildworld for these files) precluded catpages from working. Approved by: gordon
* Document sbuf_new_for_sysctl(9).mdf2011-01-252-1/+15
| | | | Pointed out by: lstewart
* When matching an incoming ARP against a bridge, ensure both interfaces belongthompsa2011-01-251-2/+2
| | | | | | to the same bridge. Submitted by: Alexander Zagrebin
* Remove DOS-style EOLssem2011-01-251-11/+11
| | | | Approved by: kib
* When vtruncbuf() iterates over the vnode buffer list, lock buffer objectkib2011-01-251-2/+5
| | | | | | | | | before checking the validity of the next buffer pointer. Otherwise, the buffer might be reclaimed after the check, causing iteration to run into wrong buffer. Reported and tested by: pho MFC after: 1 week
* Bio shall not be accessed after g_io_deliver(9).kib2011-01-251-1/+1
| | | | | | Reported and tested by: pho Reviewed by: ae, phk MFC after: 1 week
* Fix logic error introduced in previous commit.jpaetzel2011-01-251-4/+10
| | | | | | | | Along the way make some efficiency improvements. Submitted by: jilles Approved by: kib (mentor) MFC after: 3 days
* Document P_FOLLOWFORK.kib2011-01-251-0/+1
| | | | MFC after: 2 weeks
* Document PT_FLAG_FORKED, PT_FOLLOW_FORK, pl_tdname and pl_child_pid.kib2011-01-251-5/+40
| | | | MFC after: 2 weeks
* Allow debugger to specify that children of the traced process should bekib2011-01-257-15/+98
| | | | | | | | automatically traced. Extend the ptrace(PL_LWPINFO) to report that child just forked. Reviewed by: davidxu, jhb MFC after: 2 weeks
* Back out r217734. [1]bz2011-01-252-3/+10
| | | | | | | | | Properly document what `make targets` is supposed to list to avoid further confusion given the place the target sits. Should have happened with r217125. Requested by: imp [1] Reviewed by: rwatson
* * Re-format the v4k header to be consistentadrian2011-01-251-25/+29
| | | | | | | * Re-do the structure size/component math to make sure the struct matches the expected size * Just to be clear that we care about bitmask ordering, revert my previous change and instead define that macro if we're on big-endian.
* Bring over a fix from ath9k - zero some of the TX descriptors for Kite/AR9285.adrian2011-01-251-0/+14
| | | | | Kite doesn't have per-chain control (it has one chain) or antenna control; so don't try to set those descriptor entries.
* Rename this linux-ism __BIG_ENDIAN_BITFIELD macro to something suitable for ↵adrian2011-01-251-3/+3
| | | | | | FreeBSD. Warner has pointed out that FreeBSD's bit orders follow byte orders.
* Commit updated AR9285 (Kite) v2 initvals from ath9k.adrian2011-01-251-14/+103
|
OpenPOWER on IntegriCloud