| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| | |
Submitted by: Gleb Smirnoff
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
based on the Madison core and targeting the low end of the spectrum.
Its clock frequency is 1Ghz, whereas Madison starts at 1.3Ghz. Since
the CPUID information is the same for Madison and Deerfield, we use
the clock frequency to identify the processor.
Supposedly the Deerfield only uses 62W, which seems to be less than
modern Xeon processors (about 70W) and about half what a Madison would
need.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
the .for loop:
- Replaced four global variables in parse.c with one.
- Made Parse_FromString() accept the "lineno" as an argument.
- Fixed line numbering when there are escaped newlines in the
body of the .for loop.
Adopted from: NetBSD
|
| |
| |
| |
| |
| |
| | |
ourselves to device removal by not checking for it the second time.
Use count_dev(dev) rather than vcount(vp)
|
| |
| |
| |
| | |
probably unendiansafely used as u_int16_t.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On vnode backed md(4) devices over a certain, currently undetermined
size relative to the buffer cache our "lemming-syncer" can provoke
a buffer starvation which puts the md thread to sleep on wdrain.
This generally tends to grind the entire system to a stop because the
event that is supposed to wake up the thread will not happen until a fair
bit of the piled up I/O requests in the system finish, and since a lot
of those are on a md(4) vnode backed device which is currently waiting
on wdrain until a fair amount of the piled up ... you get the picture.
The cure is to issue all VOP_WRITES on the vnode backing the device
with IO_SYNC.
In addition to more closely emulating a real disk device with a
non-lying write-cache, this makes the writes exempt from rate-limited
(there to avoid starving the buffer cache) and consequently prevents
the deadlock.
Unfortunately performance takes a hit.
Add "async" option to give people who know what they are doing the
old behaviour.
|
| |
| |
| |
| | |
is very useful for collecting test-data for trial runs.
|
| |
| |
| |
| |
| |
| |
| | |
increase _FreeBSD_version to reflect the 64-bTT change on sparc64.
Noticed by: kris
Pointy hat to: gad
|
| |
| |
| |
| | |
64-bit time_t on the FreeBSD/sparc64 architecture.
|
| |
| |
| |
| |
| |
| |
| | |
only. This is a MAJOR incompatible change for the sparc64 platform,
but will not effect FreeBSD on other architectures.
Reviewed by: imp for UPDATING, freebsd-sparc for the change itself.
|
| | |
|
| |
| |
| |
| |
| | |
Suggested by: ru
Approved by: bms(mentor)
|
| |
| |
| |
| | |
- Remove references to cv_waitq_*() as they no longer exist.
|
| |
| |
| |
| |
| | |
Noticed by: Craig Rodrigues
Approved by: bms(mentor)
|
| |
| |
| |
| |
| | |
Noticed by: Pyun YongHyeon
Approved by: bms(mentor)
|
| |
| |
| |
| |
| | |
Noticed by: dwhite
Approved by: bms(mentor)
|
| |
| |
| |
| |
| | |
setting it redundantly when called from ungetwc(), vfscanf() etc.,
which already set the orientation.
|
| | |
|
| | |
|
| |
| |
| |
| | |
detour through putc().
|
| |
| |
| |
| |
| |
| |
| |
| | |
Nanobsd should make it very simple for people to create (CF-)disk images
for embedded us of FreeBSD.
Currently only works for 256MB disks. More agrressive shaving of the
build image can reduce that much further.
|
| |
| |
| |
| | |
detour through getc().
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This may not be a generally valid configuration, but neither is relying
on the PCI clock to be stable.
The only currently known and supported hardware is the VPN14x1 from
Soekris, and since it has external clock, we fail safe(r) by using
it.
Unfortunately there is no way to probe this reliably.
|
| |
| |
| |
| | |
__srefill() to do it.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Retire g_sanity() and corresponding debugflag (0x8)
Retire g_{stall,release}_events().
Under #ifdef DIAGNOSTIC:
Make g_valid_obj() an official function and have it return an an
non-zero integer which indicates the kind of object when found.
Implement G_VALID_{CLASS,GEOM,CONSUMER,PROVIDER}() macros based
on g_valid_obj().
Sprinkle calls to these macros liberally over the infrastructure.
Always check that we do not free a live object.
|
| | |
|
| |
| |
| |
| |
| |
| | |
largest supported unit number for this device driver.
Reported by: Kaho Toshikazu <kaho@easy.es.tuat.ac.jp>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
that I added recently:
- When a periodic timer fires, it's automatically re-armed. We must
make sure to re-arm the timer _before_ invoking any caller-supplied
defered procedure call: the DPC may choose to call KeCancelTimer(),
and re-arming the timer after the DPC un-does the effect of the
cancel.
- Fix similar issue with periodic timers in subr_ndis.c.
- When calling KeSetTimer() or KeSetTimerEx(), if the timer is
already pending, untimeout() it first before timeout()ing
it again.
- The old Atheros driver for the 5211 seems to use KeSetTimerEx()
incorrectly, or at the very least in a very strange way that
doesn't quite follow the Microsoft documentation. In one case,
it calls KeSetTimerEx() with a duetime of 0 and a period of 5000.
The Microsoft documentation says that negative duetime values
are relative to the current time and positive values are absolute.
But it doesn't say what's supposed to happen with positive values
that less than the current time, i.e. absolute values that are
in the past.
Lacking any further information, I have decided that timers with
positive duetimes that are in the past should fire right away (or
in our case, after only 1 tick). This also takes care of the other
strange usage in the Atheros driver, where the duetime is
specified as 500000 and the period is 50. I think someone may
have meant to use -500000 and misinterpreted the documentation.
- Also modified KeWaitForSingleObject() and KeWaitForMultipleObjects()
to make the same duetime adjustment, since they have the same rules
regarding timeout values.
- Cosmetic: change name of 'timeout' variable in KeWaitForSingleObject()
and KeWaitForMultipleObjects() to 'duetime' to avoid senseless
(though harmless) overlap with timeout() function name.
With these fixes, I can get the 5211 card to associate properly with
my adhoc net using driver AR5211.SYS version 2.4.1.6.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
a static const global variable in ah_core.c. This makes it more clear
that this array does not require synchronization, as well as
synchronizing the layout to the ESP algorithm list. This is the
version of my patch that Itojun committed to the KAME tree.
Obtained from: me, via KAME
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
pmap. For the kernel pmap, Giant is not required. In general, for
other pmaps, Giant is required by i386's pmap_pte() implementation.
Specifically, the use of PMAP2/PADDR2 is synchronized by Giant.
Note: In principle, updates to the kernel pmap's wired count could be
lost without Giant. However, in practice, we never use the kernel
pmap's wired count. This will be resolved when pmap locking appears.
- With the above change, cpu_thread_clean() and uma_large_free() need
not acquire Giant. (The first case is simply the revival of
i386/i386/vm_machdep.c's revision 1.226 by peter.)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Add encapmtx to protect ip_encap.c global variables (encapsulation
list).
- Unifdef #ifdef 0 pieces of encap_init() which was (and now really
is) basically a no-op.
- Lock encapmtx when walking encaptab, modifying it, comparing
entries, etc.
- Remove spl's.
Note that currently there's no facilite to make sure outstanding
use of encapsulation methods on a table entry have drained bfore
we allow a table entry to be removed. As such, it's currently the
caller's responsibility to make sure that draining takes place.
Reviewed by: mlaier
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
on call to rfork.
Submitted by: Brian Buchanan
Semi-Reviewed by: rwatson
|
| | |
|
| |
| |
| |
| | |
are accessed read-only.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Trigger not only on diskless booting sysctls being set, but also
on the existence of the file "/etc/diskless". But do not try to
extract IP# related keywords in that case.
Add a general "remount" facility to allow non-NFS remounting.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Add DECL wrappers to libgeom.h.
- Rename structure members in libgeom.h to use a lg_ prefix for member
names. This is required because a few structures had members named
'class' which made g++ very unhappy.
- Catch gstat(8) and gconcat(8) up to these API changes.
Reviewed by: phk
|
| |
| |
| |
| | |
Requested by: bde
|
| |
| |
| |
| | |
unused variables from if_ndis_pccard.c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
stf_destroy() to handle the common softc destruction path for the
two destruction sources: interface cloning destroy, and module
unload.
NOTE: sc_ro, the cached route for stf conversion, is not synchronized
against concurrent access in this change, that will follow in a future
change.
Reviewed by: pjd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Portability: Thanks to Juergen Lock, libarchive now compiles cleanly
on Linux. Along the way, I cleaned up a lot of error return codes and
reorganized some code to simplify conditional compilation of certain
sections.
Bug fixes:
* pax format now actually stores filenames that are 101-154
characters long.
* pax format now allows newline characters in extended attributes
(this fixes a long-standing bug in ACL handling)
* mtime/atime are now restored for directories
* directory list is now sorted prior to fix-up to permit
correct restore of non-writable dir heirarchies
|
| |
| |
| |
| |
| |
| | |
Push if_faith softc destruction logic into faith_destroy() so that
it can be called after softc list removal in both the clone destroy
and module unload paths.
|
| |
| |
| |
| |
| |
| |
| |
| | |
ndis_probe_pci() doesn't contain an entry for an IRQ resource, try to
force one to be routed to us anyway by adding an extra call to
bus_alloc_resource(). If this fails, then we have to abort the attach.
Patch provided by jhb, tweaked by me.
|
| |
| |
| |
| |
| |
| | |
the variable name to undef).
Submitted by: Cyrille Lefevre
|
| |
| |
| |
| |
| |
| |
| |
| | |
really sure why we have a softc list for if_loop, given that it
can't be unloaded, but that's an issue to revisit in the future as
corrupting the softc list would still cause panics.
Reviewed by: benno
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since there are two destroy paths for if_disc interfaces --
module unload and cloan interface destroy, create a new utility
function disc_destroy(), which is callded on a softc after it
has been removed from the global softc list; the cloaner and
module unload entry paths will both remove it before calling
disc_destroy().
Reviewed by: pjd
|
| |
| |
| |
| |
| |
| |
| |
| | |
prevented newfs to work on volumes that are larger than 1TB.
PR: 63577
Submitted by: Masaki Takakashi <mtakahashi@se.gtd.cosmo.co.jp>
Approved by: grog (mentor), bde
|