OpenBSD cvs log

created 2024-08-25T04:10:20Z
begin 2024-08-21T00:00:00Z
end 2024-08-22T00:00:00Z
path src/sys
commits 10

date 2024-08-21T00:56:58Z
author dlg
files src/sys/dev/pci/if_rge.c log diff annotate
message be more careful about bus_dmamap_syncs for rx ring descriptors.

this is very similar to the changes made for tx where we fill in
everything except the OWN flag on the rx descriptor, call bus_dmamap_sync
as a barrier for the hw, and then flip the ownership of the OWN
bit. this avoids the potential for the hw to see the own bit before
other things in the descriptor, such as the address and length of
the buffer.

while here, trim code that's not currently used. we don't currently
support rxing one packet by assembling buffers from multiple
descriptors, so stop fiddling with the queue mbuf head and tail
pointers. delete rge_discard_rxbuf() cos it looks like a leftover
from code which tries to reuse mbufs on the rx ring. we free mbufs
when there's an error and let the rxr stuff refill.

ok patrick@
no objections from kevlo@

date 2024-08-21T01:12:52Z
author dlg
files src/sys/dev/pci/if_rge.c log diff annotate
src/sys/dev/pci/if_rgereg.h log diff annotate
message support building a single packet out of multiple rx descriptors.

rge is a bit like intel nics where you can put small mbufs on the
rx ring and it will chain them together to make a jumbo packet.
except unlike intel you can use any sized mbufs for the rx descriptors.

this adds the handling of these packets to the rx path. we're still
putting 9k frames on the ring though.

date 2024-08-21T01:17:50Z
author dlg
files src/sys/dev/pci/if_rge.c log diff annotate
message use 2k clusters on the rx ring instead of 9k clusters.

rge can chain mbufs from multiple rx descriptors together to build
a jumbo packet. 1514 byte packets are still the most common, so
avoiding the waste of most of a 9k cluster if we can still makes
sense.

date 2024-08-21T01:22:31Z
author dlg
files src/sys/dev/pci/if_rge.c log diff annotate
message offset rx buffers by ETHER_ALIGN so ip payloads are properly aligned.

date 2024-08-21T03:07:45Z
author deraadt
files src/sys/kern/exec_elf.c log diff annotate
src/sys/kern/kern_exec.c log diff annotate
src/sys/kern/kern_fork.c log diff annotate
src/sys/sys/proc.h log diff annotate
src/sys/uvm/uvm_mmap.c log diff annotate
message We do not need the PS_LIBCPIN and PS_PIN flag fields anymore, which were
used during devlopment (for visibility). There is speculation claudio will
immediately use these bits for something else.

date 2024-08-21T03:16:25Z
author deraadt
files src/sys/kern/exec_elf.c log diff annotate
message If binaries lack a pintable, execve() can now reject them at startup
by returning EINVAL, rather than at runtime when the first system call
occurs (and then probably dumping core). Let's find out if there are
any surprising exceptions we were unaware of (would need a custom linker,
or a non-crt0 runtime)
errno discussions with kettenis, sthen, millert. Vague concensus it is
worth trying now.

date 2024-08-21T07:36:12Z
author mvs
files src/sys/netinet/in_proto.c log diff annotate
src/sys/netinet/ip_ipip.c log diff annotate
message Unlock ipip_sysctl().

- IPIPCTL_ALLOW - atomically accessed integer;
- IPIPCTL_STATS - per-CPU counters;

ok bluhm

date 2024-08-21T09:27:37Z
author mpi
files src/sys/dev/dt/dt_dev.c log diff annotate
message Read events from all PCBs as long as there's no error.

From Christian Ludwig.

date 2024-08-21T11:24:12Z
author jsg
files src/sys/dev/fdt/rkdrm.c log diff annotate
src/sys/dev/fdt/rkdrm.h log diff annotate
src/sys/dev/fdt/rkdwhdmi.c log diff annotate
src/sys/dev/fdt/rkvop.c log diff annotate
message remove unused vars and structs

date 2024-08-21T12:53:36Z
author mvs
files src/sys/netinet/in_proto.c log diff annotate
src/sys/netinet/ip_ipip.c log diff annotate
message Revert previous. It was committed mistakenly.