OpenBSD cvs log

created 2023-08-05T04:54:48Z
begin 2023-07-30T00:00:00Z
end 2023-07-31T00:00:00Z
path src/sys
commits 14

date 2023-07-30T01:15:42Z
author dlg
files src/sys/dev/pci/if_vmx.c log diff annotate
message post tx ring producer updates to each rings own txh register.

before this change all the different ring producer updates were
posted to ring 0.

date 2023-07-30T01:41:05Z
author dlg
files src/sys/dev/pci/if_vmx.c log diff annotate
message tighten up the tx start/completion handling of the producer and consumer.

the hypervisor obvious snoops the descriptor rings like crazy, and
it can run and complete transmit of packets as soon as the ownership
bit is set on the descriptor and before the txh register is updated
with the producer index. txintr would only process tx completions
if the producer and consumer indexes the driver maintains were
different, but would then go and pop every packet the hardware said
was done off the ring.

this changes txintr so it will only iterate over packets between
the driver consumer and producer indexes. also, have the start code
update the producer before flipping the ownership bit in the ring.
this keeps the start and intr code in sync.

date 2023-07-30T01:59:23Z
author dlg
files src/sys/dev/pci/if_vmx.c log diff annotate
message add bus_dmamap_syncs around tx ring handling.

this copies the dmamem wrapper from ixl (which has been copied
around lots of other places too) so it makes the bus_dma ops around
them more consistent with other drivers. before this vmx would use
the bus dma api to allocate physical memory, but then free the
dmamap so it wasnt available for use with bus_dmamap_sync().

date 2023-07-30T02:10:00Z
author dlg
files src/sys/dev/pci/if_vmx.c log diff annotate
message clear oactive on each txq, not just txq 0 when the iface goes up or down

if the driver did get into a situation where the tx rings were out
of sync (which should be fixed now) and were stuck oactive, taking
the interface down and up didnt clear that on anything except ring
0.

date 2023-07-30T03:35:50Z
author dlg
files src/sys/dev/pci/if_vmx.c log diff annotate
message add bus_dmamap_sync() ops around the rx handling.

date 2023-07-30T03:40:08Z
author dlg
files src/sys/dev/pci/if_vmx.c log diff annotate
message white space fixes, no functional change

date 2023-07-30T04:10:58Z
author dlg
files src/sys/dev/pci/if_vmx.c log diff annotate
message fix generation handling on rx ring wraparound.

date 2023-07-30T04:27:01Z
author dlg
files src/sys/dev/pci/if_vmx.c log diff annotate
message move rx head register writes out of rx completions and into rxfill

rxfill is always called after rx completions are done anyway, and
it makes more sense to give the hypervisor an update about new mbufs
on the ring after we put them there.

date 2023-07-30T05:39:52Z
author dlg
files src/sys/net/ifq.c log diff annotate
src/sys/net/ifq.h log diff annotate
message count the number of times a ring was marked as oactive.

this is interesting as an indicator of how busy or overloaded a
transmit queue is before the next indicator which is the number of
qdrops.

date 2023-07-30T08:46:03Z
author yasuoka
files src/sys/dev/pci/azalia.c log diff annotate
message Attach "Intel 700 Series HD Audio" (0x51ca). The audio device on vaio
VJPK23, azalia doesn't match because its subclass is audio not hd audio.

ok jsg

date 2023-07-30T12:16:20Z
author jsg
files src/sys/dev/pci/drm/include/linux/gfp.h log diff annotate
message change __GFP_KSWAPD_RECLAIM from 0 to M_NOWAIT

aja@ reported a panic where __i915_gpu_coredump() used a combination of
gfp flags which resulted in neither M_WAITOK or M_NOWAIT.

date 2023-07-30T12:52:03Z
author krw
files src/sys/netinet6/nd6_nbr.c log diff annotate
message Check for NULL before de-referencing a pointer, not after.

More complete solution after tb@ pointed out what Coverity missed.

ok tb@

date 2023-07-30T16:43:53Z
author tb
files src/sys/lib/libz/zlib.h log diff annotate
message sync with userland's zlib.h

date 2023-07-30T17:28:19Z
author kettenis
files src/sys/arch/riscv64/dev/stfclock.c log diff annotate
message Add JH7110 I2C clocks.

ok jsing@