summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* universe: don't attempt to compile DEFAULTS and don't compile LINT twice.ru2005-11-281-1/+2
|
* Fixed about 50 million errors of infinity ulps and about 3 million errorsbde2005-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | of between 1.0 and 1.8509 ulps for lgammaf(x) with x between -2**-21 and -2**-70. As usual, the cutoff for tiny args was not correctly translated to float precision. It was 2**-70 but 2**-21 works. Not as usual, having a too-small threshold was worse than a pessimization. It was just a pessimization for (positive) args between 2**-70 and 2**-21, but for the first ~50 million (negative) args below -2**-70, the general code overflowed and gave a result of infinity instead of correct (finite) results near 70*log(2). For the remaining ~361 million negative args above -2**21, the general code gave almost-acceptable errors (lgamma[f]() is not very accurate in general) but the pessimization was larger than for misclassified tiny positive args. Now the max error for lgammaf(x) with |x| < 2**-21 is 0.7885 ulps, and speed and accuracy are almost the same for positive and negative args in this range. The maximum error overall is still infinity ulps. A cutoff of 2**-70 is probably wastefully small for the double precision case. Smaller cutoffs can be used to reduce the max error to nearly 0.5 ulps for tiny args, but this is useless since the general algrorithm for nearly-tiny args is not nearly that accurate -- it has a max error of about 1 ulp.
* Add manual page for snd_atiixp(4) and hook it up to the build.joel2005-11-282-0/+90
| | | | Reviewed by: ru
* Apply arch= selection to the qandatoc mode. This fixeshrs2005-11-281-0/+43
| | | | | | link generation with no actual target. Reported by: Tim Witthoeft (tim.witthoeft at gmail.com)
* Exploit skew-symmetry to avoid an operation: -sin(x-A) = sin(A-x). Thisbde2005-11-282-4/+4
| | | | | | | | gives a tiny but hopefully always free optimization in the 2 quadrants to which it applies. On Athlons, it reduces maximum latency by 4 cycles in these quadrants but has usually has a smaller effect on total time (typically ~2 cycles (~5%), but sometimes 8 cycles when the compiler generates poor code).
* Try to use the "proximity" (~) operator consistently in commentsbde2005-11-282-8/+10
| | | | | | | (x ~<= a, not x <= ~a). This got messed up in some places when the comments were moved from e_rem_pio2f.c. Added my (non-)copyright.
* Changed spelling of the request-to-inline macro name to match the changebde2005-11-282-4/+6
| | | | | | | | | of the function name. Added my (non-)copyright. In k_tanf.c, added the first set of redundant parentheses to control grouping which was claimed to be added in the previous commit.
* Use only double precision for "kernel" cosf and sinf (except forbde2005-11-286-71/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | returning float). The functions are renamed from __kernel_{cos,sin}f() to __kernel_{cos,sin}df() so that misuses of them will cause link errors and not crashes. This version is an almost-routine translation with no special optimizations for accuracy or efficiency. The not-quite-routine part is that in __kernel_cosf(), regenerating the minimax polynomial with double precision coefficients gives a coefficient for the x**2 term that is not quite -0.5, so the literal 0.5 in the code and the related `hz' variable need to be modified; also, the special code for reducing the error in 1.0-x**2*0.5 is no longer needed, so it is convenient to adjust all the logic for the x**2 term a little. Note that without extra precision, it would be very bad to use a coefficient of other than -0.5 for the x**2 term -- the old version depends on multiplication by -0.5 being infinitely precise so as not to need even more special code for reducing the error in 1-x**2*0.5. This gives an unimportant increase in accuracy, from ~0.8 to ~0.501 ulps. Almost all of the error is from the final rounding step, since the choice of the minimax polynomials so that their contribution to the error is a bit less than 0.5 ulps just happens to give contributions that are significantly less (~.001 ulps). An Athlons, for uniformly distributed args in [-2pi, 2pi], this gives overall speed increases in the 10-20% range, despite giving a speed decrease of typically 19% (from 31 cycles up to 37) for sinf() on args in [-pi/4, pi/4].
* Remove commented out reference to posix4/mqueue.h. It hasn't been installedrodrigc2005-11-281-2/+1
| | | | | for 3 years, and now we have another (working) implementation of POSIX message queues elsewhere in the source tree.
* mqueue.h has been superceded by sys/mqueue.h thanks to David Xu's work.scottl2005-11-281-77/+0
| | | | Submitted by: dolt
* Use a separate synopsis line for -u as devinfo will ignore otherjkoshy2005-11-281-3/+7
| | | | options when -u is specified. Xref device(9) and devclass(9).
* - Allow duplicate "machine" directives with the same arguments.ru2005-11-2723-62/+10
| | | | - Move existing "machine" directives to DEFAULTS.
* Fix a stupid compiler warining, remove a redundant line.davidxu2005-11-271-1/+1
|
* Reduction.ru2005-11-272-2/+0
|
* Make config(8) understand ORed dependecies in "files*" andru2005-11-2718-264/+139
| | | | improve tracking of known devices. Bump config(8) version.
* Document 82571 and 82572 support.brueffer2005-11-271-3/+3
| | | | MFC after: 3 days
* Add a CAVEATS section that mentions missing RAID5 support.brueffer2005-11-271-1/+4
| | | | MFC after: 3 days
* The ohci driver's processing of completed transfer descriptors (TDs)iedowse2005-11-272-31/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | appeared to rely on all kinds of non-guaranteed behaviours: the transfer abort code assumed that TDs with no interrupt timeout configured would end up on the done queue within 20ms, the done queue processing assumed that all TDs from a transfer would appear at the same time, and there were access-after-free bugs triggered on failed transfers. Attempt to fix these problems by the following changes: - Use a maximum (6-frame) interrupt delay instead of no interrupt delay to ensure that the 20ms wait in ohci_abort_xfer() is enough for the TDs to have been taken off the hardware done queue. - Defer cancellation of timeouts and freeing of TDs until we either hit an error or reach the final TD. - Remove TDs from the done queue before freeing them so that it is safe to continue traversing the done queue. This appears to fix a hang that was reproducable with revision 1.67 or 1.68 of ulpt.c (earlier revisions had a different transfer pattern). With certain HP printers, the command "true > /dev/ulpt0" would cause ohci_add_done() to spin because the done queue had a loop. The list corruption was caused by a 3-TD transfer where the first TD completed but remained on the internal host controller done queue because it had no interrupt timeout. When the transfer timed out, the TD got freed and reused, so it caused a loop in the done queue when it was inserted a second time from a different transfer. Reported by: Alex Pivovarov MFC after: 1 week
* Change filesystem name from mqueue to mqueuefs for style consitent,davidxu2005-11-271-2/+2
| | | | sort LINKS list.
* Change filesystem name from mqueue to mqueuefs for style consistent.davidxu2005-11-272-3/+3
| | | | Suggested by: rwatson
* Clarify a comment to make it clear that it is NO_NIS that "If it is set"keramida2005-11-271-2/+2
| | | | | | | | | | | refers to and add extra '#' comment characters at the beginning of two lines that started with TABs, to avoid warnings like: "/etc/make.conf", line 128: Unassociated shell command "# If set, you might need to adopt your" "/etc/make.conf", line 129: Unassociated shell command "# nsswitch.conf(5) and remove `nis' entries." PR: misc/89423 Submitted by: Scot W. Hetzel
* Support for ATI IXP 200 / 300 / 400 series audio controllers.ariff2005-11-276-1/+1221
|
* Portability: remove AC_FUNC_MALLOC from configure.ac.in.kientzle2005-11-271-1/+0
| | | | According to Dan Nelson, this fixes the build on AIX 5.2.
* Portability: Remove AC_CHECK_MALLOC from configure.ac.in.kientzle2005-11-271-1/+0
| | | | | | | | libarchive doesn't make malloc(0) requests, so the autoconf checks aren't needed and the autoconf workarounds for broken malloc(0) just create problems. Thanks to: Dan Nelson, who reports that this fixes libarchive on AIX 5.2
* - Update the flow sequence before converting count toglebius2005-11-271-5/+2
| | | | | | | | | network byte order. - Update the flow sequence in one atomic op instead of two. Reported by: Denis Shaposhnikov <dsh vlink.ru> Reported by: Daniil Kharoun <kdl chelcom.ru> PR: kern/89417
* Regen.davidxu2005-11-275-69/+81
|
* Don't use OpenBSD syscall numbers, instead, use new syscall numbersdavidxu2005-11-271-16/+22
| | | | | | for POSIX message queue. Suggested by: rwatson
* Add several aliases for existing clockid_t names to indicate that therwatson2005-11-272-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | application wishes to request high precision time stamps be returned: Alias Existing CLOCK_REALTIME_PRECISE CLOCK_REALTIME CLOCK_MONOTONIC_PRECISE CLOCK_MONOTONIC CLOCK_UPTIME_PRECISE CLOCK_UPTIME Add experimental low-precision clockid_t names corresponding to these clocks, but implemented using cached timestamps in kernel rather than a full time counter query. This offers a minimum update rate of 1/HZ, but in practice will often be more frequent due to the frequency of time stamping in the kernel: New clockid_t name Approximates existing clockid_t CLOCK_REALTIME_FAST CLOCK_REALTIME CLOCK_MONOTONIC_FAST CLOCK_MONOTONIC CLOCK_UPTIME_FAST CLOCK_UPTIME Add one additional new clockid_t, CLOCK_SECOND, which returns the current second without performing a full time counter query or cache lookup overhead to make sure the cached timestamp is stable. This is intended to support very low granularity consumers, such as time(3). The names, visibility, and implementation of the above are subject to change, and will not be MFC'd any time soon. The goal is to expose lower quality time measurement to applications willing to sacrifice accuracy in performance critical paths, such as when taking time stamps for the purpose of rescheduling select() and poll() timeouts. Future changes might include retrofitting the time counter infrastructure to allow the "fast" time query mechanisms to use a different time counter, rather than a cached time counter (i.e., TSC). NOTE: With different underlying time mechanisms exposed, using different time query mechanisms in the same application may result in relative non-monoticity or the appearance of clock stalling for a single clockid_t, as a cached time stamp queried after a precision time stamp lookup may be "before" the time returned by the earlier live time counter query.
* Revision 5.0 of the Sony DSC camera appears to require RBC commandsiedowse2005-11-261-2/+14
| | | | | | | | to be padded to 12 bytes in length. Otherwise the requests just time out. Reported by: anders MFC after: 1 week
* Add code to test POSIX message queue.davidxu2005-11-2611-0/+512
|
* Implement following POSIX message queue interfaces:davidxu2005-11-262-1/+74
| | | | mq_close, mq_getattr, mq_receive, mq_send.
* Bring in POSIX message queue header file.davidxu2005-11-261-0/+51
|
* Support mounting POSIX message queue filesystem.davidxu2005-11-261-1/+2
|
* Bring in mqueue.h to define struct mq_attr.davidxu2005-11-261-0/+40
|
* Compile mqueue module.davidxu2005-11-262-0/+11
|
* Regen.davidxu2005-11-265-17/+67
|
* Bring in experimental kernel support for POSIX message queue.davidxu2005-11-266-6/+2382
|
* In preparation for automatic hardware notes generation, reword thebrueffer2005-11-262-2/+6
| | | | | | hardware section text to include the driver name. MFC after: 3 days
* Remove duplicates.ru2005-11-263-5/+0
|
* Add a locking stub to call acpi_cmbat_get_bif() now that it is directlynjl2005-11-261-1/+12
| | | | | | | run from the taskqueue. There should probably be a better way to do this later, but this suffices for now. Submitted by: yongari
* The CAM interface is broken and seems to be causing lockups on boot. Itscottl2005-11-261-0/+13
| | | | | | | doesn't appear to have worked in a long time, so just disable it completely for now. MFC After: 3 days
* Added mono to stereo and stereo to mono feeder functions for bothariff2005-11-261-0/+170
| | | | 24 and 32 bit format.
* Added codec id for Avance Logic (ALC250)ariff2005-11-261-0/+1
|
* Sort Xrefs in the SEE ALSO section correctly.brueffer2005-11-261-1/+1
| | | | Pointy hat to: brueffer
* Update the list of drivers that need wlan(4).brueffer2005-11-261-4/+13
| | | | MFC after: 3 days
* Whitespace.ru2005-11-251-18/+18
|
* Clean some code that became obfuscated over the years:ru2005-11-253-59/+19
| | | | | | | | | Don't keep duplicate files in the files list just to mark the device as "known" later. XXX: Since the device list isn't unique (there can be two "device foo" directives, as this the case with LINT+DEFAULTS), we have to traverse it all to mark all copies of the same device as "used", but this is not worse than it was.
* o Pass received frames to radiotap.damien2005-11-252-18/+29
| | | | | | | o Remove some unsupported flags from the ic_caps field. o Various cosmetic tweaks. MFC after: 6 days
* It turns out that set_charset() invokes build_iovec_argf() which modifiesavatar2005-11-251-6/+6
| | | | | | | | | | | | | iov address internally through realloc(3). However, since the function parameter wasn't designed to allow the modified iov being passed back to the caller, we ended up feeding iov with several corrupted entries(this depends on how many arguments were pushed into iovec before set_charset()) to nmount(2). This commit fixes this regression introduced in rev1.37 such that mount_msdosfs(8) with code page conversion option(-W,-D) enabled works again. Reviewed by: rodrigc
* It turns out that set_charset() invokes build_iovec() which modifiesavatar2005-11-251-5/+5
| | | | | | | | | | | | iov address internally through realloc(3). However, since the function parameter wasn't designed to allow the modified iov being passed back to the caller, we end up feeding iov with several corrupted entries(depends on how many arguments were pushed into iovec before set_charset()) to nmount(2). This commit fixes this regression introduced in rev1.31 such that mount_cd9660(8) with code page conversion option(-C) enabled works again. Reviewed by: rodrigc
OpenPOWER on IntegriCloud