search for: noparallel

Displaying 20 results from an estimated 40 matches for "noparallel".

2019 May 17
4
[nbdkit PATCH 0/3] Add noparallel filter
...ch 1. This patch is written to apply after my NBD_CMD_CACHE work (since I touched the nocache filter); but can be rearranged if we think this series should go in first while that one undergoes any adjustments from review. Eric Blake (3): server: Allow filters to reduce thread model dynamically noparallel: Implement new filter filters: Use only .thread_model, not THREAD_MODEL docs/nbdkit-filter.pod | 45 ++++++---- filters/fua/nbdkit-fua-filter.pod | 1 + filters/nocache/nbdkit-nocache-filter.pod | 1 + filters/noextents/nbdkit-noextents-filter.pod | 1 +...
2019 May 17
0
[nbdkit PATCH 3/3] filters: Use only .thread_model, not THREAD_MODEL
...--- filters/cow/cow.c | 2 -- filters/delay/delay.c | 2 -- filters/error/error.c | 2 -- filters/fua/fua.c | 2 -- filters/log/log.c | 2 -- filters/nocache/nocache.c | 2 -- filters/noextents/noextents.c | 2 -- filters/noparallel/noparallel.c | 2 -- filters/nozero/nozero.c | 2 -- filters/offset/offset.c | 2 -- filters/partition/partition.c | 2 -- filters/rate/rate.c | 2 -- filters/readahead/readahead.c | 2 -- filters/stats/stats.c | 2 -- filters/truncate/truncate.c...
2019 Aug 30
1
[nbdkit PATCH v2] filters: Stronger version match requirements
...c | 1 - filters/delay/delay.c | 1 - filters/error/error.c | 1 - filters/fua/fua.c | 1 - filters/log/log.c | 1 - filters/nocache/nocache.c | 1 - filters/noextents/noextents.c | 1 - filters/noparallel/noparallel.c | 1 - filters/nozero/nozero.c | 1 - filters/offset/offset.c | 1 - filters/partition/partition.c | 1 - filters/rate/rate.c | 1 - filters/readahead/readahead.c | 1 - filters/stats/stats.c | 1 - filters/tr...
2020 Mar 06
1
Re: [PATCH nbdkit v2] New filter: limit: Limit number of clients that can connect.
...concurrent clients to C<N>. This parameter is > +optional. If not specified then the limit defaults to 1. You can > +also set this to 0 to make the number of clients unlimited (ie. > +disable the filter). > + To some extent, you can also disable parallel connections with the noparallel-filter set to serialize=connections (but in that mode, the second client blocks waiting for its turn to connect, rather than the server dropping the second client immediately). Probably worth cross-linking the two man pages to highlight this difference in behavior. > +=head1 SEE ALSO > +...
2019 May 21
0
[libnbd] tmp patch adding deadlock test
--- This is what I used to provoke the deadlocks; before my patch series, it was succeeding for a fully-parallel server: nbdkit -U - memory 2M --run './deadlock $unixsocket' as well as for a serialized server that didn't trip up Linux kernel buffering limits: nbdkit -U - --filter=noparallel memory 256k --run './deadlock $unixsocket' but was reliably hanging with both client and server on larger buffers: nbdkit -U - --filter=noparallel memory 512k --run './deadlock $unixsocket' Post-patch, you can see the state machine now shift through ISSUE_COMMAND.PAUSE_WRITE_PAYLO...
2019 May 20
3
[nbdkit PATCH 0/2] More on .thread_model
Rich pointed out that making thread_model dynamic even for plugins makes some sense, so here is the code for doing it for 'sh'. I'm less confident on how to do it for OCaml and Rust (not to mention that those allow the plugin to already compile in their model, rather than the language binding glue forcing a model). The other languages (lua, perl, python, ruby) still need to be
2020 Mar 04
0
[PATCH nbdkit 1/4] tests: Rename test-shutdown.sh to test-delay-shutdown.sh.
...$sock" cleanup_fn rm -f $files fail=0 @@ -45,7 +45,7 @@ fail=0 # This tests that the delay filter's use of nbdkit_nanosleep is able to # react to both connection death and server shutdown without finishing # the entire delay duration. -start_nbdkit -P shutdown.pid -U $sock --filter=noparallel --filter=delay \ +start_nbdkit -P delay-shutdown.pid -U $sock --filter=noparallel --filter=delay \ null 1M serialize=connections rdelay=60 # Early client death should not stall connection of second client. -- 2.25.0
2020 Mar 04
2
[PATCH nbdkit v2] New filter: limit: Limit number of clients that can connect.
This is a second version of the limit filter. v1 was posted here: https://www.redhat.com/archives/libguestfs/2020-March/msg00015.html I didn't bother to repost the other three patches because they are the same. The difference is this version of the filter takes security more seriously. It shouldn't be possible for malicious clients to connect more than limit=N times to the plugin now,
2019 Jul 02
1
Re: [libnbd PATCH] tests: Enhance errors test
...doesn't get to run until the core has learned that the client wants a command serviced). But it may be possible to tweak things to send back-to-back write requests, where even if the first write request gets sent completely, the plugin can delay responding to that first write and use --filter=noparallel to prevent the second command from reaching nbdkit. I'll play with that, to see if I can reproduce the valgrind race, as well as work around it with back-to-back write commands to increase the likelihood of actually preventing nbdkit from consuming the second command. -- Eric Blake, Principa...
2019 Aug 02
0
[nbdkit PATCH v2 15/17] sh: Enable parallel thread model, when possible
...h | \ + sed 's/^thread_model=parallel/thread_model=serialize_all_requests/' # Here, the script further reduces things nbdkit --dump-plugin sh - <<\EOF case $1 in @@ -85,13 +86,13 @@ EOF # Here, the filter further reduces things nbdkit --dump-plugin --filter=noparallel sh serialize=connections } | grep thread_model) -exp="max_thread_model=serialize_all_requests +exp="max_thread_model=parallel thread_model=serialize_all_requests has_thread_model=1 -max_thread_model=serialize_all_requests +max_thread_model=parallel thread_model=serialize_connections...
2019 May 21
9
[libnbd PATCH 0/3] Avoid deadlock with in-flight commands
This might not be the final solution, but it certainly seems to solve a deadlock for me that I could trigger by using 'nbdkit --filter=noparallel memory 512k' and calling nbd_aio_pread for a request larger than 256k (enough for the Linux kernel to block the server until libnbd read()s), immediately followed by nbd_aio_pwrite for a request larger than 256k (enough to block libnbd until the server read()s, but the serialized server won'...
2020 Mar 17
0
[nbdkit PATCH 3/4] tests: Don't let test-parallel-* hang on nbdkit bug
...-io -f raw \ + -c "aio_write -P 2 512 512" -c "aio_read -P 1 0 512" -c aio_flush $nbd' | tee test-parallel-file.out if test "$(grep '512/512' test-parallel-file.out)" != \ "read 512/512 bytes at offset 0 @@ -77,8 +78,8 @@ fi # With --filter=noparallel, the write should complete first because it was issued first nbdkit -v -U - --filter=noparallel --filter=delay file test-parallel-file.data \ - wdelay=2 rdelay=1 --run 'qemu-io -f raw -c "aio_write -P 2 512 512" \ - -c "aio_read -P 1 0 512" -c aio...
2019 May 22
0
[libnbd PATCH v3 7/7] examples: Add example to demonstrate just-fixed deadlock scenario
Added merely as an example to be run by hand, rather than automated into 'make check', since nbdkit --filter=noparallel is quite new. --- .gitignore | 1 + examples/Makefile.am | 10 ++ examples/batched-read-write.c | 214 ++++++++++++++++++++++++++++++++++ 3 files changed, 225 insertions(+) create mode 100644 examples/batched-read-write.c diff --git a/.gitignore b/.gitignore index...
2019 Aug 02
2
Re: [nbdkit PATCH v2 15/17] sh: Enable parallel thread model, when possible
...ead_model=parallel/thread_model=serialize_all_requests/' > # Here, the script further reduces things > nbdkit --dump-plugin sh - <<\EOF > case $1 in > @@ -85,13 +86,13 @@ EOF > # Here, the filter further reduces things > nbdkit --dump-plugin --filter=noparallel sh serialize=connections > } | grep thread_model) > -exp="max_thread_model=serialize_all_requests > +exp="max_thread_model=parallel > thread_model=serialize_all_requests > has_thread_model=1 > -max_thread_model=serialize_all_requests > +max_thread_model=parallel &g...
2020 Aug 18
0
[PATCH nbdkit 2/9] build: On Windows only, link all plugins and filters with -lnbdkit.
...ilters/gzip/Makefile.am | 1 + filters/ip/Makefile.am | 1 + filters/limit/Makefile.am | 1 + filters/log/Makefile.am | 1 + filters/nocache/Makefile.am | 3 +++ filters/noextents/Makefile.am | 3 +++ filters/nofilter/Makefile.am | 3 +++ filters/noparallel/Makefile.am | 3 +++ filters/nozero/Makefile.am | 3 +++ filters/offset/Makefile.am | 1 + filters/partition/Makefile.am | 1 + filters/pause/Makefile.am | 1 + filters/rate/Makefile.am | 1 + filters/readahead/Makefile.am | 1 + filters/retry/Makefile.am...
2019 Aug 06
1
[nbdkit PATCH] tests: Test for faster shutdown
...ate a server that delays reads and forces only one connection at a time. +# This tests that the delay filter's use of nbdkit_nanosleep is able to +# react to both connection death and server shutdown without finishing +# the entire delay duration. +start_nbdkit -P shutdown.pid -U $sock --filter=noparallel --filter=delay \ + null 1M serialize=connections rdelay=10 + +# Early client death should not stall connection of second client. +trap '' ERR +timeout 1s qemu-io -f raw "nbd+unix:///?socket=$sock" -c 'r 0 512' </dev/null +test $? = 124 || { + echo "Unexpected...
2019 May 23
2
Re: [PATCH libnbd v2 1/6] api: Synchronous connect waits til all connections are connected.
...he user to enable multi-conn on the > handle and then use nbd_connect_command, but I did not make that > change yet. Ouch - I just realized that we created a different problem. If the server does not add multi-conn because it does NOT permit parallel connections (such as 'nbdkit --filter=noparallel memory 1m serialize=connections'), then a client requesting nbd_set_multi_conn(nbd, 2) will now hang because we will never be able to move all our connections through handshake. While we can still try to fire off multiple connections at once, we need to add some logic in nbd_connect_unix() and...
2020 Mar 17
9
[nbdkit PATCH 0/4] Fix testsuite hang with nbd-stadalone
Either patch 1 or patch 2 in isolation is sufficient to fix the problem that Rich forwarded on from an archlinux tester (name so I can credit them?). But both patches should be applied, as well as backported to appropriate stable branches, to maximize cross-version interoperability of nbdkit vs. plugins. Patch 3 will let us detect future similar bugs much faster. I want patch 4 to ensure that
2019 Aug 28
0
ANNOUNCE: libnbd 1.0 & nbdkit 1.14 - high performance NBD client and server
...can be used to specify an NBD URI in ‘--run’ parameters (Eric Blake). New ‘stats’ filter displays elapsed statistics about NBD operations, such as the number of bytes read and written. New ‘nocache’ filter which disables cache requests, used to determine how effective they are (Eric Blake). New ‘noparallel’ filter which can be used to override the plugin’s own choice of thread model. Used to determine how the thread model affects performance, or to serialize plugins if required (Eric Blake). New ‘cacheextents’ filter to cache extents requests, especially useful with VDDK which has a slow implementa...
2020 Aug 15
0
Re: [PATCH nbdkit] New ondemand plugin.
...That script could send email to an administrator, or even create a filesystem on the user's behalf; then run that filter in front of the file plugin to let the user create images after all. The exclusion between clients is an interesting trick to figure out, though (the existing --filter=noparallel is too strict - you want parallel clients visiting different files, but not parallel clients visiting the same file). > +=head2 Security considerations > + > +You should B<only> use this in an environment where you trust all your > +clients, since clients can use this plugin to...