On 18 Jul 2020, at 20:47, Konstantin Belousov wrote:
On Sat, Jul 18, 2020 at 12:43:11PM +0000, Kristof Provost wrote:
Author: kp
Date: Sat Jul 18 12:43:11 2020
New Revision: 363308
URL: https://svnweb.freebsd.org/changeset/base/363308
Log:
bridge: Don't sleep during epoch
While it doesn't trigger INVARIANTS or WITNESS on head it does in
stable/12.
There's also no reason for it, as we can easily report the out of
memory error
to the caller (i.e. userspace). All of these can already fail.
This makes syscalls (ioctl) fail randomly. Can you pre-allocate the
buffers
before entering epoch, instead ?
Not easily, no.
The bridge ioctl handling is all done via bridge_ioctl(), which enters
epoch and dispatches to the bridge_control_table.
We’d have to modify every single ioctl function.
These are also not the only ioctl functions that can return ENOMEM (or
EINVAL). bridge_ioctl_add() already did, for example.
Best regards,
Kristof
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"