Age | Commit message (Collapse) | Author |
|
to deraadt, then myself) brings the PAE pmap on i386 (not touched in any
significant way for years) closer to the current non-PAE pmap and allows
us to take a big next step toward better i386 W^X in the kernel (similar to
what we did a few months ago on amd64). Unlike the original PAE pmap, this
diff will not be supporting > 4GB physical memory on i386 - this effort is
specifically geared toward providing W^X (via NX) only.
There still seems to be a bug removing certain pmap entries when PAE is
enabled, so I'm leaving PAE mode disabled for the moment until we can
figure out what is going on, but with this diff in the tree hopefully
others can help.
The pmap functions now operate through function pointers, due to the need
to support both non-PAE and PAE forms. My unscientific testing showed
less than 0.3% (a third of a percent) slowdown with this approach during
a base build.
Discussed for months with guenther, kettenis, and deraadt.
ok kettenis@, deraadt@
|
|
code (that isn't actually compiled in). Use dev_priv->dev in one more place
now that we have it, and add set_normalized_timespec() and use it.
|
|
its value to userland which will always be 0.
drop the member. lie to userland.
ok henning@
|
|
instances, so maintaining separate pools for them and pointing
between them is overhead.
this drops the hfsc_classq pool and inlines it into hfsc_class.
ok henning@
|
|
|
|
|
|
archs and this is the only interesting diff in the window.
|
|
and into the .c file.
ok henning@
|
|
|
|
used instead of bus_space_read/bus_space_write.
|
|
better matches linux behaviour
|
|
volume, ignoring any device name specified in the bio(4) ioctl struct.
One of bio(4)'s design flaws is that the device name is hardcoded in many
of the ioctl structs, making it basically unusable with DUIDs. In the case
of `bioctl -d' the bioctl(8) code actually uses opendev(3) on the given
name, then issues the ioctl directly to the resulting device. As such, we
already know which device (or in this case, softraid volume) the ioctl was
intended for, however the current softraid(4) code ignores this and instead
attempts to perform a lookup using the name in the bio(4) ioctl struct.
This diff splits the sr_bio_ioctl() code into two parts - one that implements
the API required by bio(4) and the other that contains the ioctl handling
code, which now takes an optional pointer to the softraid discipline. If an
ioctl is issued to a SCSI device associated with a softraid volume, pass
the corresponding softraid discipline struct through and to the bio ioctl
handler and use it in preference to performing a device name lookup.
Amongst other things, this makes bioctl -d now work with DUIDs.
ok krw@
|
|
ok krw@
|
|
ok mpi@
|
|
|
|
there instead of pf_ioctl.c.
ok henning@
|
|
|
|
|
|
|
|
so we can use the inline definition of i915_gem_chipset_flush()
that avoids the flush entirely on gen >= 6.
|
|
A leftover from netbsd
|
|
|
|
for non-DIAGNOSTIC kernels.
ok deraadt@
|
|
Tested by Daniel Jakots, thanks!
|
|
|
|
with niqueues.
this change is so big because there's a lot of code that takes
pointers to different input queues (eg, ether_input picks between
ipv4, ipv6, pppoe, arp, and mpls input queues) and falls through
to code to enqueue packets against the pointer. if i changed only
one of the input queues id have to add sepearate code paths, one
for ifqueues and one for niqueues in each of these places
by flipping all these input queues at once i can keep the currently
common code common.
testing by mpi@ sthen@ and rafael zalamena
ok mpi@ sthen@ claudio@ henning@
|
|
scheduling.
More work is required to properly budget and schedule micro-frames, most
of it at the HUB level. But this let people use USB1.1 uaudio(4) devices
on ehci(4)-only systems.
Thanks to all the testers!
ok ratchov@, sthen@, naddy@
|
|
tested by (including some statistical measurement) and ok mikeb@
|
|
and change drm_can_sleep() to only use in_atomic() on i386/amd64 as
it isn't defined for other archs currently. Unbreaks the sparc64 build.
Found the hard way by benoit@
|
|
by a subsystem to stash some state while the mbuf gets queued. eg,
net80211 uses it to keep track of the wireless node associated with
a packet before submitting it to a drivers snd queue for transmission.
this makes pipex use ph_cookie to keep track of the pipex session
associated with a packet before submitting it to the softint queues.
this lets us get rid of an mbuf tag type, and avoids the cost of
tag allocation.
ok yasuoka@
|
|
an interface is destroyed/removed. This way we can ensure pseudo-driver
changes done after attaching an interface are undone before detaching it.
Note: it is safe to call if_deactivate() multiple times as the interface
should not have any attached pseudo-interface after the first call.
ok deraadt@, dlg@
|
|
Patch by Fasse <fasse.f2@gmail.com>
ok mpi@
|
|
ok dlg@
|
|
deal with long delays.
|
|
only ever used to decide between mdelay and drm_msleep and our
drm_msleep delays instead of sleeping.
|
|
|
|
mtu when it gets set up. instead, allow the vlan interfaces mtu to
be raised to the parents hardmtu in SIOCSIFMTU handling.
pointed out by claudio@
|
|
|
|
pv lists with a mutex. Some minor code adjustments to prevent holding locks
too long. This should make pmap_enter(9), pmap_remove(9) and
pmap_page_protect(9) safe to use without holding the kernel lock.
|
|
pfi_kif objects allocated for table entries created by route-to or
by specifying weight weren't garbage collected when the table entry
was destroyed.
Spotted by Alexandr Nedvedicky <alexandr ! nedvedicky at oracle ! com>,
thanks! Ok henning, florian
|
|
> fix a regression on re chips which have
> 7k jumbo support (RL_JUMBO_MTU_7K) as reported by daniel jakots
> and emilio perea. the regression was caused because RL_JUMBO_FRAMELEN
> was changed to 9k and i missed fixing up the RL_JUMBO_MTU_7K macro.
nice of him to fix the thing he broke ;)
ok sthen@
|
|
ok stsp@
|
|
|
|
This should help dlg's dell 2950 that gets stuck during boot with vmap
in the trace.
ok kettenis@
|
|
Spotted by Alexandr Nedvedicky <alexandr ! nedvedicky at oracle ! com>,
thanks!
|
|
when we call pmap_release(). Turn debug code into printf and remove the code
that tried to mop up. Override Debugger() such that it inserts a trap
instruction directly into the code such that we get useful backtraces.
This way I don't need to worry about pmap_release() removing pv entries when
making this pmap mpsafe.
|
|
ok dlg@
|
|
Spotted by Alexandr Nedvedicky <alexandr ! nedvedicky at oracle ! com>,
thanks a lot! Ok florian
|
|
when no cable is plugged in but the interface is brough up.
inputs and ok kettenis@
|
|
ok dlg@
|