| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
I have too many source trees :-(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Kernel:
Change statistics to use the *uptime() timescale (ie: relative to
boottime) rather than the UTC aligned timescale. This makes the
device statistics code oblivious to clock steps.
Change timestamps to bintime format, they are cheaper.
Remove the "busy_count", and replace it with two counter fields:
"start_count" and "end_count", which are updated in the down and
up paths respectively. This removes the locking constraint on
devstat.
Add a timestamp argument to devstat_start_transaction(), this will
normally be a timestamp set by the *_bio() function in bp->bio_t0.
Use this field to calculate duration of I/O operations.
Add two timestamp arguments to devstat_end_transaction(), one is
the current time, a NULL pointer means "take timestamp yourself",
the other is the timestamp of when this transaction started (see
above).
Change calculation of busy_time to operate on "the salami principle":
Only when we are idle, which we can determine by the start+end
counts being identical, do we update the "busy_from" field in the
down path. In the up path we accumulate the timeslice in busy_time
and update busy_from.
Change the byte_* and num_* fields into two arrays: bytes[] and
operations[].
Userland:
Change the misleading "busy_time" name to be called "snap_time" and
make the time long double since that is what most users need anyway,
fill it using clock_gettime(CLOCK_MONOTONIC) to put it on the same
timescale as the kernel fields.
Change devstat_compute_etime() to operate on struct bintime.
Remove the version 2 legacy interface: the change to bintime makes
compatibility far too expensive.
Fix a bug in systat's "vm" page where boot relative busy times would
be bogus.
Bump __FreeBSD_version to 500107
Review & Collaboration by: ken
|
|
|
|
|
| |
explode, so nix the old strtod() / dtoa(). This change is part
of the gdtoa patches reviewed on standards@.
|
|
|
|
| |
Requested by: jhb
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
dtoa() is buggy. The bug would cause incorrect output to be
generated when format strings such as '%5.0f' were used with
nonzero numbers whose magnitude is less than 1.
Reported by: df(1) by way of periodic(8)
Reviewed by: mike
|
| |
|
|
|
|
|
|
|
|
|
|
| |
amount of bytes (supposed to be) written by vsnprintf exceeds the
size of the buffer.
PR: bin/48844
Submitted by: Peter A Jonsson <pj@ludd.luth.se>
Obtained from: OpenBSD
MFC after: 1 month
|
|
|
|
| |
writter thread can block reader threads to get read lock.
|
|
|
|
| |
Pointy hat to: jhb
|
|
|
|
| |
OK'ed by: das
|
|
|
|
|
| |
struct member names and the corresponding comments so the lines don't
wrap on 80-column terminals.
|
| |
|
|
|
|
| |
last argument.
|
|
|
|
| |
Reviewed by: bde (briefly), mike (mentor), obrien
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
package, a more recent, generalized set of routines. Among the
changes:
- Declare strtof() and strtold() in stdlib.h.
- Add glue to libc to support these routines for all kinds
of ``long double''.
- Update printf() to reflect the fact that dtoa works slightly
differently now.
As soon as I see that nothing has blown up, I will kill
src/lib/libc/stdlib/strtod.c. Soon printf() will be able
to use the new routines to output long doubles without loss
of precision, but numerous bugs in the existing code must
be addressed first.
Reviewed by: bde (briefly), mike (mentor), obrien
|
|
|
|
|
|
|
|
| |
desired strptime(3) reentrancy by adding an extra argument to _strptime()
instead.
Approved by: markm (mentor)
MFC: 4 weeks
|
|
|
|
|
|
|
| |
hsearch(.., ENTER). Make the example reflect this.
PR: 49951
Submitted by: Peter Jeremy <peterjeremy@optushome.com.au>
|
|
|
|
|
|
|
| |
various tunables that are applicable to sendfile(2). Update tuning.7
to mention a reference to sendfile.2.
Approved by: keramida
|
|
|
|
| |
are at the top of loops.
|
| |
|
| |
|
|
|
|
| |
functional difference, but debugging output will be less confusing.
|
|
|
|
| |
better than the code generated by gcc in many cases.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
(I've tried to keep to the spirit of the original formatting)
Reviewed by: des
|
|
|
|
| |
Reviewed by: des
|
|
|
|
| |
to the Errors section.
|
| |
|
| |
|
| |
|
|
|
|
| |
Obtained from: OpenBSD
|
|
|
|
| |
Noticed by: julian
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
not save (restore) the global pointer (GP) in the jmpbuf in setjmp
(longjmp) because it's not needed in general. GP is considered a
scratch register at callsites and hence is always restored after a
call (when it's possible that the call resolves to a symbol in a
different loadmodule; otherwise GP does not have to be saved and
restored at all), including calls to setjmp/longjmp. There's just
one problem with this now that we use setjmp/longjmp for context
switching: A new context must have GP defined properly for the
thread's entry point. This means that we need to put GP in the
jmpbuf and consequently that we have to restore is in longjmp.
This automaticly requires us to save it as well.
When setjmp/longjmp isn't used for context switching, this can be
reverted again.
|
|
|
|
|
|
|
|
|
|
|
| |
integral type to the size of a pointer type when it's known that the
cast is valid. On ia64 such casts are generally bad news and has led
us (=peter :-) to make such casts fatal. By casting to intptr_t
before casting to a pointer type, this now compiles cleanly in LP64
architectures. Note that the final cast has been changed to void*
(instead of siginfo_t*) to make it explicit that we're not trying to
pass a siginfo_t pointer but rather trying to pass an int when the
prototype says it should be a pointer.
|
|
|
|
|
|
|
|
|
|
|
| |
the J_SIG0 field. While here, rename J_SIG0 to J_SIGSET and
remove J_SIG1. The main reason for this change is that the
128-bit sigset_t is now aligned on a 16-byte boundary, which
allows us to use 16-byte atomic loads and stores on CPUs that
support it. The removal of J_SIG1 is done to avoid confusion:
it is never accessed and should not be. Renaming J_SIG0 to
J_SIGSET is the icing on the cake that's better done now than
later.
|
|
|
|
|
|
|
|
| |
revision of this file, but note that they are not supported in the
base system.
Requested by: ache
Reviewed by: ache, mike (mentor)
|
| |
|
|
|
|
|
|
| |
specifying a local address to bind sockets to. Caveat: lightly tested.
PR: bin/37572
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
password quality, not login.conf(5).
- Move warnexpire and warnpasswd from the ``Accounting Limits''
section to ``Authentication'', and nix everything else in the
former section. The accounting knobs are not available in
the base system, and the subset of them available in ports
should be documented in the ports' manpages.
PR: 47960
Reviewed by: mike (mentor), doc
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
file in the NFS file system when the underlying device is not a
network device. A Sparc64 specific hack for this exact problem was
already present (nfs.c:1.9, tftp.c:1.10), but the problem is not
specific to Sparc64. The hack has been promoted to a non-i386 test
because on non-i386 architectures it's either impossible to have
non-network devices coexist in the same loader with the NFS FS, or
network and non-network device coexist and NFS filesystems can only
be used on top of network devices. I believe i386 pxeboot is where
this does not hold.
The root cause of this problem is in open.c where each file system
is tried until no more file systems exist or a file system returns
success. There's no notion of a list of valid file systems given
the underlying device and the non-existence of a file can cause
the invalid combination to be tried.
|
| |
|
|
|
|
|
| |
and the kernel instead of adding more syscalls at runtime. As a bonus,
you can now restrict access to the kernel NCP interface with chmod.
|