summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add page lock assertions where we access the page's hold_count.alc2010-05-021-0/+3
|
* Print IR_RESYNC updates informatively.mjacob2010-05-021-0/+4
| | | | | Obtained from: pluknet MFC after: 1 week
* Eliminate an assignment that was made redundant by r207410.alc2010-05-021-2/+0
|
* Defer the acquisition of the page and page queues locks inalc2010-05-021-8/+8
| | | | vm_pageout_object_deactivate_pages().
* Simplify vm_fault(). The introduction of the new page lock renders a bit ofalc2010-05-021-13/+5
| | | | | | | cleverness by vm_fault() to avoid repeatedly releasing and reacquiring the page queues lock pointless. Reviewed by: kib, kmacy
* Add support for SPARC64 V (and where it already makes sense for othermarius2010-05-0214-29/+232
| | | | | | | | | HAL/Fujitsu) CPUs. For the most part this consists of fleshing out the MMU and cache handling, it doesn't add pmap optimizations possible with these CPU, yet, though. With these changes FreeBSD runs stable on Fujitsu Siemens PRIMEPOWER 250 and likely also other models based on SPARC64 V like 450, 650 and 850. Thanks go to Michael Moll for providing access to a PRIMEPOWER 250.
* Import mvs(4) - Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA controllersmav2010-05-0213-1/+3996
| | | | | | driver for CAM ATA subsystem. This driver supports same hardware as atamarvell, ataadaptec and atamvsata drivers from ata(4), but provides many additional features, such as NCQ, PMP, etc.
* Lock the page around hold_count access.kib2010-05-021-0/+2
| | | | Reviewed by: alc
* Properly synchronize access to the page's hold_count in vfs_vmio_release().alc2010-05-021-6/+6
| | | | Reviewed by: kib
* Remove redundant checking of sc_leaving (uart_intr() already handles this).marius2010-05-022-5/+2
| | | | Approved by: marcel
* Remove a soft member which was never used.marius2010-05-021-1/+0
| | | | Approved by: marcel
* Correct an error in r207410: Remove an unlock of a lock that is no longeralc2010-05-021-1/+0
| | | | held.
* It makes no sense for vm_page_sleep_if_busy()'s helper, vm_page_sleep(),alc2010-05-024-13/+59
| | | | | | | | | | to unconditionally set PG_REFERENCED on a page before sleeping. In many cases, it's perfectly ok for the page to disappear, i.e., be reclaimed by the page daemon, before the caller to vm_page_sleep() is reawakened. Instead, we now explicitly set PG_REFERENCED in those cases where having the page persist until the caller is awakened is clearly desirable. Note, however, that setting PG_REFERENCED on the page is still only a hint, and not a guarantee that the page should persist.
* This change addresses the race condition that was introduced by the previousalc2010-05-021-14/+16
| | | | | | | | | | revision, r207450, to this file. Specifically, between dropping the page queues lock in vm_contig_launder() and reacquiring it in vm_contig_launder_page(), the page may be removed from the active or inactive queue. It could be wired, freed, cached, etc. None of which vm_contig_launder_page() is prepared for. Reviewed by: kib, kmacy
* Enable PCI busmastering explicitly to be sure.mav2010-05-021-0/+1
|
* Add a hack for SPARC64 V CPUs, which set some undocumented bits in themarius2010-05-021-2/+5
| | | | first data word.
* Make SATA XPT negotiate and enable some additional SATA features, such as:mav2010-05-028-73/+277
| | | | | | | - device initiated power management (some devices support only this way); - Automatic Partial to Slumber Transition (more power saving); - DMA auto-activation (expected to slightly improve performance). More features could be added later, when hardware supports.
* Add -d and -f arguments to `camcontrol cmd`, to execute DMA ATA commands.mav2010-05-022-3/+21
|
* Add xpt_schedule_dev_sendq() call, lost at r203108. It is not needed inmav2010-05-021-0/+2
| | | | | | | usual operation, but required in some conditions to make queue running after being shrinked. MFC after: 3 days
* Correct an error of omission in r206819. If VMFS_TLB_ALIGNED_SPACE isalc2010-05-021-1/+5
| | | | | | | specified to vm_map_find(), then retry the vm_map_findspace() if vm_map_insert() fails because the aligned space is already partly used. Reported by: Neel Natu
* pathchk(1): Fix the example so it allows arbitrary pathnames.jilles2010-05-011-1/+1
| | | | | | | | | | Spaces and various other characters in pathnames are not passed through literally by xargs in its default mode. Instead, use find . -exec ... {} + Although the -- argument is not strictly required here, add it anyway to avoid surprises when modifying the code to find -f -somedir ... MFC after: 1 week
* When configuring a system-wide couting PMC, hwpmc was incorrectly logging ↵rstone2010-05-011-9/+9
| | | | | | | | | process mappings for that PMC. Nothing ever reads pmc logs out of a counting PMC, so the log buffers were leaked when the PMC was deconfigured. The process mappings are only useful for sampling PMCs anyway, so only log the mappings if the PMC is a sampling PMC. This bug would cause allocating sample-mode PMCs to fail with ENOMEM after allocating several counting-mode PMCs. Approved by: jkoshy (mentor) MFC after: 2 weeks
* pathchk: Add the new POSIX -P option.jilles2010-05-012-6/+26
| | | | | | | This option checks for empty pathnames and components starting with '-'. Our -p option also checks for the latter, which remains the case. MFC after: 1 week
* When configuring hwpmc to use the EXT_SNOOP event, only send a default ↵rstone2010-05-011-1/+8
| | | | | | | cachestate qualifier on the Atom processor. Other Intel processors do not accept a cachestate qualifier and currently hwpmc will return EINVAL if you try to use the EXT_SNOOP event on those processors Approved by: jkoshy (mentor) MFC after: 2 weeks
* Add sysctl and loader tunable vfs.zfs.txg.write_limit_override.mm2010-05-011-0/+6
| | | | | | | | | This tunable improves fine-tuning of ZFS write throttling. PR: kern/146108 Suggested by: Nikolay Denev <ndenev at gmail.com> Approved by: pjd, delphij (mentor) MFC after: 2 weeks
* Change description of tunable group vfs.zfs.txg to be moremm2010-05-011-1/+2
| | | | | | | understandable. Approved by: pjd, delphij (mentor) MFC after: 3 days
* Search beyond the first 1/8th of inodes.emaste2010-05-011-1/+1
| | | | Submitted by: jeff
* Remove a redundant variable assignment.zec2010-05-011-2/+1
| | | | | Reviewed by: bz, rwatson MFC after: 3 days
* Enable AH_RXCFG_SDMAMW_4BYTES option. See NOTES file for why this isimp2010-05-011-0/+1
| | | | workaround (WAR) is needed.
* Put the -current debugging options back into AR71XX.imp2010-05-011-5/+5
|
* The Atheros AR71xx CPUs, when paired with the AR5212 parts, has a bugimp2010-05-013-0/+18
| | | | | | | | | | | | | | | | | | | that generates a fatal bus trap. Normally, the chips are setup to do 128 byte DMA bursts, but when on this CPU, they can only safely due 4-byte DMA bursts due to this bug. Details of the exact nature of the bug are sketchy, but some can be found at https://forum.openwrt.org/viewtopic.php?pid=70060 on pages 4, 5 and 6. There's a small performance penalty associated with this workaround, so it is only enabled when needed on the Atheros AR71xx platforms. Unfortunately, this condition is impossible to detect at runtime without MIPS specific ifdefs. Rather than cast an overly-broad net like Linux/OpenWRT dues (which enables this workaround all the time on MIPS32 platforms), we put this option in the kernel for just the affected machines. Sam didn't like this aspect of the patch when he reviewed it, and I'd love to hear sane proposals on how to fix it :) Reviewed by: sam@
* Extract thread_lock()/ruxagg()/thread_unlock() fragment into utilitykib2010-05-011-13/+14
| | | | | | | | function ruxagg_tlock(). Convert the definition of kern_getrusage() to ANSI C. Submitted by: Alexander Krizhanovsky <ak natsys-lab com> MFC after: 1 week
* Remove debugging code that was not used once since commit.kib2010-05-011-85/+1
| | | | | Suggested by: bde MFC after: 1 week
* Improve usage of tunefs:edwin2010-05-011-3/+4
| | | | | | | Document -j switch in usage() to reflect recent SUJ work. Submitted by: Alastair Hogge MFC after: 1 week
* sparc64, and possibly other architectures, pads the length of theimp2010-05-011-7/+11
| | | | | | | | section holding the config file to sh_addralign bytes using NULs. This bogusly triggers an assert. Break out of the loop when we hit an NUL within that many bytes of the end. MFC after: 3 days
* Update locking comment above vm_page:kmacy2010-05-011-9/+10
| | | | | | | - re-assign page queue lock "Q" - assign page lock "P" - update several uncommented fields - observe that hold_count is now protected by the page lock "P"
* Reduce MD code further. At least, it compiles on ia64 now (but it is notjkim2010-05-011-36/+78
| | | | connected to build). The idea/code was shamelessly taken from r207329.
* Do not initialize mutex and return error if it cannot map memory.jkim2010-05-011-13/+13
|
* Remove WNOHANG flag from wait3().ed2010-04-301-15/+9
| | | | | | | | | | | | | | Because script(1) now reliably terminates when the TTY is closed, it may be the case that the call to wait3() occurs just before the child process exits. This causes error codes to be ignored. Just change script(1) to use waitpid() instead of wait3(). This makes it more portable and prevents the need for a loop, since waitpid() only returns a specified process. PR: bin/146189 Tested by: amdmi3@, older version MFC after: 2 weeks
* push up dropping of the page queue lock to avoid holding it in vm_pageout_flushkmacy2010-04-302-29/+19
|
* don't call vm_pageout_flush with the page queue mutex heldkmacy2010-04-301-0/+2
| | | | Reported by: Michael Butler
* - acquire the page lock in vm_contig_launder_page before checking page fieldskmacy2010-04-301-6/+15
| | | | - release page queue lock before calling vm_pageout_flush
* telnet: Fix infinite loop if local output generates SIGPIPE.jilles2010-04-306-16/+17
| | | | | | | | | | | | | | | | | Instead of catching SIGPIPE and jumping out of the signal handler with longjmp, ignore it and handle write errors to the local output by exiting from there. I have changed the error message to mention the local output instead of NetBSD's wrong "Connection closed by foreign host". Write errors to the network were already handled by exiting immediately and this now applies to EPIPE too. The code assumed that SIGPIPE could only be generated by the network connection; if it was generated by the local output, it would longjmp out of the signal handler and write an error message which caused another SIGPIPE. PR: 19773 Obtained from: NetBSD MFC after: 1 week
* - don't check hold_count without the page lock heldkmacy2010-04-301-6/+7
| | | | | - don't leak the page lock if m->object is NULL (assuming that that check will in fact even be valid when m->object is protected by the page lock)
* Marvell 88E8059(Yukon Optima) is now supported.yongari2010-04-301-1/+3
|
* Add Marvell PHYG65G Gigabit PHY which is found on 88E8059 Yukon Optima.yongari2010-04-302-0/+3
| | | | | Tested by: James LaLagna < jameslalagna <> gmail dot com > MFC after: 5 days
* Add basic support for Marvell 88E8059 Yukon Optima.yongari2010-04-302-3/+23
| | | | | Tested by: James LaLagna < jameslalagna <> gmail dot com > MFC after: 5 days
* Disable non-ASF packet flushing on Yukon Extreme as vendor's driveryongari2010-04-302-0/+7
| | | | | | | | | | | | | does. Without this change, Yukon Extreme seems to generate lots of RX FIFO overruns even though controller has available RX buffers. These excessive RX FIFO overruns generated lots of pause frames which in turn killed devices plugged into switch. It seems there is still occasional RX frame corruption on Yukon Extreme but this change seems to fix the pause frame storm. Reported by: jhb Tested by: jhb MFC after: 5 days
* Bug in the memory mapping module. The wrongrrs2010-04-301-1/+1
| | | | | | | physaddr was being used in the macro (1 should be used not 2)... Obtained from: JC
* Handle taskqueue_drain(9) correctly on a threaded taskqueue:zml2010-04-303-10/+18
| | | | | | | | | | | | taskqueue_drain(9) will not correctly detect whether a task is currently running. The check is against a field in the taskqueue struct, but for a threaded queue with more than one thread, multiple threads can simultaneously be running a task, thus stomping over the tq_running field. Submitted by: Matthew Fleming <matthew.fleming@isilon.com> Reviewed by: jhb Approved by: dfr (mentor)
OpenPOWER on IntegriCloud