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"

Reply via email to