OpenBSD cvs log

created 2019-07-20T12:54:05Z
begin 2019-07-19T00:00:00Z
end 2019-07-20T00:00:00Z
path src/sys
commits 11

date 2019-07-19T00:11:38Z
author cheloha
files src/sys/kern/kern_timeout.c log diff annotate
message ddb(4): clean up callout command

- display timeouts in the thread work queue, if any
- identify timeouts in the thread/softint work queue as such
- if not in work queue, print /; easier to right-align
- print arg pointer by hand to ensure consistent length for all pointers
on both 32 and 64-bit platforms
- generally make sure columns are correctly aligned and spaced

ok mpi@ visa@

date 2019-07-19T00:17:15Z
author cheloha
files src/sys/arch/armv7/exynos/exuart.c log diff annotate
src/sys/arch/sparc64/dev/sab.c log diff annotate
src/sys/dev/fdt/imxuart.c log diff annotate
src/sys/dev/fdt/mvuart.c log diff annotate
src/sys/dev/ic/com.c log diff annotate
src/sys/dev/ic/cy.c log diff annotate
src/sys/dev/ic/pluart.c log diff annotate
src/sys/dev/ic/z8530tty.c log diff annotate
src/sys/dev/sbus/magma.c log diff annotate
src/sys/dev/sbus/spif.c log diff annotate
src/sys/dev/usb/ucom.c log diff annotate
src/sys/kern/tty.c log diff annotate
message ttysleep(): drop unused timeout parameter

All callers sleep indefinitely.

With help from visa@.

ok visa@, ratchov@, kn@

date 2019-07-19T00:17:16Z
author cheloha
files src/sys/kern/tty_pty.c log diff annotate
src/sys/net/ppp_tty.c log diff annotate
src/sys/sys/tty.h log diff annotate
message ttysleep(): drop unused timeout parameter

All callers sleep indefinitely.

With help from visa@.

ok visa@, ratchov@, kn@

date 2019-07-19T00:24:31Z
author cheloha
files src/sys/kern/vfs_bio.c log diff annotate
src/sys/msdosfs/msdosfs_fat.c log diff annotate
src/sys/msdosfs/msdosfs_vnops.c log diff annotate
src/sys/nfs/nfs_bio.c log diff annotate
src/sys/sys/buf.h log diff annotate
src/sys/ufs/ext2fs/ext2fs_balloc.c log diff annotate
src/sys/ufs/ext2fs/ext2fs_bmap.c log diff annotate
src/sys/ufs/ext2fs/ext2fs_inode.c log diff annotate
src/sys/ufs/ext2fs/ext2fs_vfsops.c log diff annotate
src/sys/ufs/ffs/ffs_alloc.c log diff annotate
src/sys/ufs/ffs/ffs_balloc.c log diff annotate
src/sys/ufs/ffs/ffs_inode.c log diff annotate
src/sys/ufs/ffs/ffs_softdep.c log diff annotate
message getblk(9): tsleep(9) -> tsleep_nsec(9); ok visa@

date 2019-07-19T00:24:32Z
author cheloha
files src/sys/ufs/ffs/ffs_vfsops.c log diff annotate
src/sys/ufs/ufs/ufs_bmap.c log diff annotate
message getblk(9): tsleep(9) -> tsleep_nsec(9); ok visa@

date 2019-07-19T00:54:59Z
author cheloha
files src/sys/kern/spec_vnops.c log diff annotate
src/sys/kern/vfs_subr.c log diff annotate
src/sys/nfs/nfs_vnops.c log diff annotate
src/sys/sys/vnode.h log diff annotate
src/sys/ufs/ffs/ffs_vnops.c log diff annotate
message vwaitforio(9): tsleep(9) -> tsleep_nsec(9); ok visa@

date 2019-07-19T04:15:47Z
author dlg
files src/sys/net/if_aggr.c log diff annotate
message export all the partner info to userland, not just what ifconfig prints.

date 2019-07-19T04:35:01Z
author dlg
files src/sys/net/if_aggr.c log diff annotate
message default (ie, reset) the partner info when a ports link goes down.

this doesnt seem to be mentioned in the spec, but is a sensible
thing to do if you think about it. all the switches i've tried also
do this, so there's some consensus about it being sensible.

this is done in the link state handler rather than being added to
one of the state machines. the idea is to keep the state machines
as close to what's in the spec as possible.

date 2019-07-19T05:21:25Z
author dlg
files src/sys/net/if_aggr.c log diff annotate
message try to notify the partner when the port is going away or down.

by notify i mean we send an lacp packet with our collecting and
distributing flags cleared, which should tell the remote system
that it should no longer handle packets on their port as part of
their aggregation. this is implemented by "unselecting" a port.

if an active port is going away, ie, being removed from an aggr via
"ifconfig aggr0 -trunkport port0", all that happens is software
state on our side changes and we stop considering the interface as
part of the aggr interface. the partner system is otherwise oblivious
and can continue to send us packets until its expiry timeout fires
because it doesn't know any better.

we already intercept a ports ioctl handling, so if someone goes
"ifconfig portX down" while it is attached to an aggr, we can catch
that before the underlying driver actually tears the rings down, and
we still have a chance to try and send a packet to the peer. this
is useful because our drivers generally do not drop the physical
link, so again, the partner system is oblivious to the change on
our side until its expiry timer fires.

expiry timeouts can be up to 90 seconds away, which is a lot of
traffic to blackhole. sending the notification to the parnter means
they withdraw this link at the same time the local system is pulling
the port out of the aggregation. hopefully. it is possible the
packet is lost, but this is a good start.

the only caveat to this is is my implementation ignores the transmit
state machine from the lacp spec, and may cause more than 3 lacp
packets per second to be transmitted to the partner system. oh

i should look at the marker protocol too.

date 2019-07-19T09:03:03Z
author bluhm
files src/sys/kern/subr_pool.c log diff annotate
src/sys/kern/uipc_mbuf.c log diff annotate
src/sys/sys/pool.h log diff annotate
message After the kernel has reached the sysclt kern.maxclusters limit,
operations get stuck while holding the net lock. Increasing the
limit did not help as there was no wakeup of the waiting pools. So
introduce pool_wakeup() and run through the mbuf pool request list
when the limit changes.
OK dlg@ visa@

date 2019-07-19T14:50:43Z
author cheloha
files src/sys/arch/amd64/isa/clock.c log diff annotate
message i8254_delay(): simplify tick computation

Back in the mid-90s these optimizations probably made sense, but
these days the compiler will produce even better code if we just
explicitly use 64-bit math and do the obvious thing. even popped in on tech@ to agree.

ok guenther@