| Age | Commit message (Collapse) | Author |
|
|
|
|
|
- Remove use of IFF_OACTIVE
- Remove use of if_timer and provide an MP safe multiqueue watchdog
- Sprinkle some lock assertions.
Tested by ryo@. Thanks.
|
|
|
|
|
|
can get txq lock or not.
That imporve (7%) and stabilize throughput. But that can cause
latency degradation, so off by default.
ok'ed by msaitoh@n.o.
|
|
Call sysmon_envsys_destroy() and clear sc->sc_sme to NULL if
sysmon_envsys_register failed.
|
|
New MD nvmm_impl callbacks:
- .suspend_interrupt forces all VMs on all physical CPUs to exit.
- .vcpu_suspend suspends an individual vCPU on a machine.
- .machine_suspend suspends an individual machine.
- .suspend suspends the whole system.
- .resume resumes the whole system.
- .machine_resume resumes an individual machine.
- .vcpu_resume resumes an indidivudal vCPU on a machine.
Suspending nvmm:
1. causes new VM operations (ioctl and close) to block until resumed,
2. uses .suspend_interrupt to interrupt any concurrent and force them
to return early, and then
3. uses the various suspend callbacks to suspend all vCPUs, machines,
and the whole system -- all vCPUs before the machine they're on,
and all machines before the system.
Resuming nvmm does the reverse of (3) -- resume system, resume each
machine and then the vCPUs on that machine -- and then unblocks
operations.
Implemented only for x86-vmx for now:
- suspend_interrupt triggers a TLB IPI to cause VM exits;
- vcpu_suspend issues VMCLEAR to force any in-CPU state to be written
to memory;
- machine_suspend does nothing;
- suspend does VMXOFF on all CPUs;
- resume does VMXON on all CPUs;
- machine_resume does nothing; and
- vcpu_resume just marks each vCPU as valid but inactive so
subsequent use will clear it and load it with vmptrld.
x86-svm left as an exercise for the reader.
|
|
protect network socket with rwlock to handle recconnects.
always take over socket from iscsid to prevent leaks.
keep a good connection alive.
don't forget child device when config_detach fails.
fix locking when reassigning CCBs.
pducount is protected by lock, no need for atomic.
some code rework, refined debug messages.
|
|
|
|
|
|
|
|
Serializes access with xhci_intr.
XXX Need to ensure the interrupt handler is quiesced at this point or
else it will trip over the assertion in xhci_intr about having at
least one child.
|
|
|
|
Need to clear ux_timeout_set only when we finally actually process
the timeout in usbdi_xfer_timeout_task, not in the callout which
schedules the task which asserts that the timeout is still set on
entry.
Must've exported the wrong version of my change from git.
|
|
Commands might not work after this but let's at least not deadlock --
give them an opportunity to time out or fail.
XXX Maybe set sc_dying here to skip the timeout.
|
|
|
|
I think this might actually be safe, because when it's synchronous,
the xfer can't be reused except by the caller after usbd_transfer
returns. But let's make it definitely not wrong instead of maybe
actually safe.
|
|
|
|
Let vioif(4) know LINK_STATE_UNKNOWN.
|
|
longer received.
Previously, those packets were received as truncated (incomplete) packets.
|
|
|
|
|
|
|
|
|
|
Previously we would never clear ux_timeout_set if an xfer timedout,
so resubmission of the same xfer later would fail to schedule a
callout.
|
|
|
|
This is inspired by the cxdtv(4) driver.
Tested on NetBSD/amd64 with a Sound Blaster Live! Value (CT4870, PCI)
and with a Sound Blaster Audigy Rx 7.1 (SB1550, PCIe).
Additional sound cards sponsored by the NetBSD Foundation; thanks!
|
|
NFCI
|
|
As implemented in the driver, the EMU10K1 chip can only address memory
up to 31-bit addresses.
Tested on NetBSD/amd64 with a Sound Blaster Live! Value (CT4870, PCI)
and with a Sound Blaster Audigy Rx 7.1 (SB1550, PCIe).
Additional sound cards sponsored by the NetBSD Foundation; thanks!
|
|
Observed with on a Sun Ultra 24, NetBSD/amd64:
tpm0 at acpi0 (TPM, IFX0102-1): io 0x4e-0x4f,0x4700-0x470b mem 0xfed40000-0xfed44fff
tpm0: device 0x000b15d1 rev 0x10
tpm0: read 8 bytes, expected 10tpm0: deactivating entropy source
|
|
Tested on NetBSD/amd64 with a Sound Blaster Live! Value (CT4870)
Note that this required setting outputs.master to the maximum value
allowed (255) to get sound out, and then cranking the volume pretty
high.
Additional sound cards sponsored by the NetBSD Foundation; thanks!
|
|
This avoids a crash found with LOCKDEBUG.
|
|
|
|
|
|
Throttling of the frame rate is no longer necessary as most screen updates are
now partial updates.
|
|
This means better performance for mostly static displays.
Full screen updates are still done five times a second.
Introduce a new variable sc_clear to force a full update.
|
|
VNDIOCLR requires write access to unconfigure a unit, even when the unit
is read-only.
|
|
|
|
|
|
- Have two locks sc_core_lock at IPL_NONE and sc_intr_lock at IPL_NET and
use appropriately.
- Use stopping flags instead of bge_if_flags so that bge_if_flags only
needs to be protected by the sc_core_lock
- Use ifmedia_init_with_lock and provide the sc_intr_lock. mii operatiions
are done from the interrupt handler.
- Fixup locking in bge_detach.
- Rename bge_watchdog to bge_watchdog_tick to avoid confusion with the
if_watchdog method.
- Sprinkle some more asserts.
|
|
NFC
|
|
|
|
|
|
|
|
|
|
I had tested this change, but forgot to amend the commit before
exporting to CVS.
|
|
curcpu() might be stale by the time we're done, but it's still safe
to pass it to cpu_index, and this is just used as a best-effort
mechanism to keep I/O on queues handled by the same CPU.
bp is not always provided, and bp->b_ci is not always assigned,
e.g. when dumping. (If bp->b_ci is supposed to be always assigned,
then we need to audit all the paths into it to assign it in those
where it's not.)
Fixes dump on nvme.
|
|
This is as per kern/56980. Confirmed working on one out of two different
computers, albeit with a strong hissing noise (same card, different
mainboard). The mixer settings seem to be irrelevant or not supported
though.
Original support inspired by the Linux driver, and confirmed with the
OpenBSD driver, itself originally from NetBSD.
Tested on NetBSD/amd64.
|
|
|