| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with the driver locking up under load.
- Restructure so that we use a static pool of commands/FIBs, rather than
allocating them in clusters. The cluster allocation just made things
more complicated, and allowed us to waste more memory in peak load
situations.
- Make queueing macros more like my other drivers. This adds queue stats
for free. Add some debugging to take advantage of this.
- Reimplement the periodic timeout scan. Kick the interrupt handler
and the start routine every scan as well, just to be safe. Track busy
commands properly.
- Bring resource cleanup into line with resource allocation. We should
now clean up correctly after a failed probe/unload/etc.
- Try to start new commands when old ones are completed. We weren't doing
this before, which could lead to deadlock when the controller was full.
- Don't try to build a new command if we have found a deferred command.
This could cause us to lose the deferred command.
- Use diskerr() to report I/O errors.
- Don't bail if the AdapterInfo structure is the wrong size. Some variation
seems to be normal. We need to improve our handing of 2.x firmware sets.
- Improve some comments in an attempt to try to make things clearer.
- Restructure to avoid some warnings.
|
| |
|
| |
|
|
|
|
|
|
|
| |
have the code calling these be compiled with the same setting for
INVARIANTS and SMP.
Reviewed by: dillon
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in 4.2-REL which I ripped out in -stable and -current when implementing the
low-memory handling solution. However, maxlaunder turns out to be the saving
grace in certain very heavily loaded systems (e.g. newsreader box). The new
algorithm limits the number of pages laundered in the first pageout daemon
pass. If that is not sufficient then suceessive will be run without any
limit.
Write I/O is now pipelined using two sysctls, vfs.lorunningspace and
vfs.hirunningspace. This prevents excessive buffered writes in the
disk queues which cause long (multi-second) delays for reads. It leads
to more stable (less jerky) and generally faster I/O streaming to disk
by allowing required read ops (e.g. for indirect blocks and such) to occur
without interrupting the write stream, amoung other things.
NOTE: eventually, filesystem write I/O pipelining needs to be done on a
per-device basis. At the moment it is globalized.
|
| |
|
| |
|
|
|
|
|
| |
blank & fixate commands and provide a progress interface for the
blank command (for now)
|
| |
|
|
|
|
|
| |
PR: kern/23336
Submitted by: Paulo Menezes <root@samurai.dee.uc.pt>
|
|
|
|
|
|
|
|
|
|
|
| |
o Move the ax88190 code to its own function.
o Move all device_method_t, driver_t and DRIVER_MODULE definitions to the
end of files.
o Wrap a few lines > 80 characters.
o Use the same devclass for all ed drivers. This allows machines with
multiple types of cards to have their cards numbered correctly. Before,
you could wind up with two ed0's.
o Protect if_edvar.h from multiple includes because I was there.
|
| |
|
| |
|
|
|
|
| |
block size varies only with format and rate.
|
|
|
|
| |
Fix wrong AML method calling in acpi_cmbat.
|
| |
|
|
|
|
|
| |
I cannot find a way to do this with the more esoteric source dir schemes
I thought of.
|
|
|
|
|
|
|
| |
to be configurable with respect to acting only in SYN or in all TCP states.
PR: 23665
Submitted by: Jesper Skriver <jesper@skriver.dk>
|
|
|
|
| |
setblocksize, simplify resource allocation
|
|
|
|
| |
instead of 0.
|
| |
|
|
|
|
|
|
|
|
| |
proctree_lock.
linprocfs not locked pending response from informal maintainer.
Reviewed by: jhb, -smp@
|
|
|
|
| |
off of it.
|
|
|
|
| |
resulting in a divide by 0.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
modify chn_setblocksize() to pick a default soft-blocksize appropriate to the
sample rate and format in use. it will aim for a power of two size small
enough to generate block sizes of at most 20ms. it will also set the
hard-blocksize taking into account rate/format conversions in use.
update drivers to implement setblocksize correctly:
updated, tested: sb16, emu10k1, maestro, solo
updated, untested: ad1816, ess, mss, sb8, csa
not updated: ds1, es137x, fm801, neomagic, t4dwave, via82c686
i lack hardware to test: ad1816, csa, fm801, neomagic
others will be updated/tested in the next few days.
|
|
|
|
| |
on all arches. This fixes the Alpha kernel build.
|
|
|
|
|
|
| |
one, in order to support adapters with older firmware.
Submitted by: "Prasanth S." <prasanths@ami.co.in>
|
|
|
|
| |
And install notify handler for thermal zone .
|
| |
|
| |
|
|
|
|
| |
respectively.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is because calls with M_WAIT (now M_TRYWAIT) may not wait
forever when nothing is available for allocation, and may end up
returning NULL. Hopefully we now communicate more of the right thing
to developers and make it very clear that it's necessary to check whether
calls with M_(TRY)WAIT also resulted in a failed allocation.
M_TRYWAIT basically means "try harder, block if necessary, but don't
necessarily wait forever." The time spent blocking is tunable with
the kern.ipc.mbuf_wait sysctl.
M_WAIT is now deprecated but still defined for the next little while.
* Fix a typo in a comment in mbuf.h
* Fix some code that was actually passing the mbuf subsystem's M_WAIT to
malloc(). Made it pass M_WAITOK instead. If we were ever to redefine the
value of the M_WAIT flag, this could have became a big problem.
|
| |
|
| |
|
|
|
|
| |
Submitted by:nyan
|
| |
|
| |
|
|\
| |
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
point in calling a function just to set a flag.
Keep better track of the syslog FAC/PRI code and try to DTRT if
they mingle.
Log all writes to /dev/console to syslog with <console.info>
priority. The formatting is not preserved, there is no robust,
way of doing it. (Ideas with patches welcome).
|
| |
| |
| |
| |
| | |
Note to myself: this needs to be enabled again when newer version of
ACPI is imported.
|
| |
| |
| |
| | |
This is needed to next ACPICA import.
|
| | |
|
| |
| |
| |
| | |
This is needed to next ACPICA import.
|
| |
| |
| |
| | |
pointer of type 0 devices. This is required by my last aic7xxx change.
|