diff options
author | 2011-07-05 19:02:47 +0000 | |
---|---|---|
committer | 2011-07-05 19:02:47 +0000 | |
commit | 117fae6fc2a524bf39588752610822bf85f39c5d (patch) | |
tree | bd225f4e973cbfaed275cca8be29eafbbd8d2d06 /sys/uvm/uvm_pmemrange.c | |
parent | Fix some awful code in the example, pointed out by millert@. (diff) | |
download | wireguard-openbsd-117fae6fc2a524bf39588752610822bf85f39c5d.tar.xz wireguard-openbsd-117fae6fc2a524bf39588752610822bf85f39c5d.zip |
ENOMEM causing EIO errors is bad juju. Softraid crypto did this.
Instead of allocating a crypto op and the optional dma buffer on each
and every io, preallocate a list of softraid crypto wus that contain a
buffer of the max size we will use (MAXPHYS). since we know the number
of openings we have in advance this means that on each io we just pick
one, shorten the list of crypto descs, init any values then do the io.
ok jsing (who provided many useful comments. he also provided a smarter way of
handling the cryptop lists which is not in this diff but will be implemented
soonish), marco@.
dlg@ pointed out that this should probably use iopools but letting
disciplines allocate their own iopool involves more softraid rejigging
that will have to be done first. For now this is sufficient.
Diffstat (limited to 'sys/uvm/uvm_pmemrange.c')
0 files changed, 0 insertions, 0 deletions