a4fc4142 glebius June 24, 2022, 4:09 p.m.
Split struct sockbuf into common shared fields and protocol specific
union, where protocols are free to implement whatever buffer they
want.  Such protocols should mark themselves with PR_SOCKBUF and are
expected to initialize their buffers in their pr_attach and tear
them down in pr_detach.

Reviewed by:		markj
Differential revision:	https://reviews.freebsd.org/D35299
cgit
315167c0 glebius June 24, 2022, 4:09 p.m.
Use this new version in unix/dgram socket when sending to a target
address.  This removes extra lock release/acquisition and possible
counter-intuitive ENOTCONN.

Reviewed by:		markj
Differential revision:	https://reviews.freebsd.org/D35298
cgit
5dc8dd5f glebius June 24, 2022, 4:09 p.m.
This allows to remove one M_NOWAIT allocation and also makes it
more clear what's going on.

Reviewed by:		markj
Differential revision:	https://reviews.freebsd.org/D35297
cgit
e3fbbf96 glebius June 24, 2022, 4:09 p.m.
With this second step PF_UNIX/SOCK_DGRAM has protocol specific
implementation.  This gives some possibility performance
optimizations.  However, it still operates on the same struct
socket as all other sockets do.

Reviewed by:		markj
Differential revision:	https://reviews.freebsd.org/D35296
cgit
f384a97c glebius June 24, 2022, 4:09 p.m.
Just remove one level of indentation as the case clause always match.

Reviewed by:		markj
Differential revision:	https://reviews.freebsd.org/D35295
cgit
7e5b6b39 glebius June 24, 2022, 4:09 p.m.
Remove the dead code.  The new uipc_sosend_dgram() handles send()
on PF_UNIX/SOCK_DGRAM in full.

Reviewed by:		markj
Differential revision:	https://reviews.freebsd.org/D35294
cgit
34649582 glebius June 24, 2022, 4:09 p.m.
This is first step towards splitting classic BSD socket
implementation into separate classes.  The first to be
split is PF_UNIX/SOCK_DGRAM as it has most differencies
to SOCK_STREAM sockets and to PF_INET sockets.

Historically a protocol shall provide two methods for sendmsg(2):
pru_sosend and pru_send.  The former is a generic send method,
e.g. sosend_generic() which would internally call the latter,
uipc_send() in our case.  There is one important exception, though,
the sendfile(2) code will call pru_send directly.  But sendfile
doesn't work on SOCK_DGRAM, so we can do the trick.  We will create
socket class specific uipc_sosend_dgram() which will carry only
important bits from sosend_generic() and uipc_send().

Reviewed by:		markj
Differential revision:	https://reviews.freebsd.org/D35293
cgit
bc6d0d72 kib June 24, 2022, 2:46 p.m.
PR:	165392
Reviewed by:	mckusick
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D35577
cgit
2f317e73 andrew June 24, 2022, 1:52 p.m.
Sponsored by:	The FreeBSD Foundation
cgit
ffa5bf8b andrew June 24, 2022, 1:51 p.m.
When running on hardware that supports SVE send the correct signal when
an SVE instruction is run.

Sponsored by:	The FreeBSD Foundation
cgit
52f6e63a andrew June 24, 2022, 1:50 p.m.
Remove -mgeneral-regs-only when building the arm64 blake3 code. It
uses simd instructions so will use non-general purpose registers.

Sponsored by:	The FreeBSD Foundation
cgit
78d4bd87 0mp June 24, 2022, 9:38 a.m.
The special group name "all" selects all the interfaces.

MFC after:	3 days
cgit
356913f5 0mp June 24, 2022, 9:34 a.m.
MFC after:	3 days
cgit
1df96b4f carlavilla June 24, 2022, 9:22 a.m.
PR:             264256
MFC after:      2 weeks
cgit
ce6296ca mckusick June 24, 2022, 2:54 a.m.
No functional change intended.

MFC after:   1 month (with 076002f24d35)
cgit