Displaying 13 results from an estimated 13 matches for "max_thread_model".
2019 Aug 02
2
Re: [nbdkit PATCH v2 15/17] sh: Enable parallel thread model, when possible
...t; required; if omitted, then the plugin will be
> -executed under the default sh thread model (currently
> -C<"serialize_all_requests">, which implies this callback only makes a
> -difference with an output of C<"serialize_connections">; look for
> -'max_thread_model' in C<nbdkit --dump-plugin sh>). If an error
> -occurs, the script should output an error message and exit with status
> -C<1>; unrecognized output is ignored.
> +executed under the default sh thread model (either C<"parallel"> or
> +C<"serialize...
2019 Aug 02
0
[nbdkit PATCH v2 15/17] sh: Enable parallel thread model, when possible
...method is I<not> required; if omitted, then the plugin will be
-executed under the default sh thread model (currently
-C<"serialize_all_requests">, which implies this callback only makes a
-difference with an output of C<"serialize_connections">; look for
-'max_thread_model' in C<nbdkit --dump-plugin sh>). If an error
-occurs, the script should output an error message and exit with status
-C<1>; unrecognized output is ignored.
+executed under the default sh thread model (either C<"parallel"> or
+C<"serialize_all_requests"&...
2020 Aug 05
2
Re: More parallelism in VDDK driver (was: Re: CFME-5.11.7.3 Perf. Tests)
...he plugins, it's implemented in
the server. The server always uses a thread pool, but plugins can opt
for more or less concurrency by adjusting the thread model:
http://libguestfs.org/nbdkit-plugin.3.html#Threads
The file plugin uses PARALLEL:
$ nbdkit file --dump-plugin | grep thread
max_thread_model=parallel
thread_model=parallel
The VDDK plugin currently uses SERIALIZE_ALL_REQUESTS:
$ nbdkit vddk --dump-plugin | grep thread
max_thread_model=serialize_all_requests
thread_model=serialize_all_requests
The proposal is to use SERIALIZE_REQUESTS, with an extra mutex added
by the plugin a...
2020 Aug 05
2
Re: More parallelism in VDDK driver (was: Re: CFME-5.11.7.3 Perf. Tests)
...ead pool, but plugins can opt
> > for more or less concurrency by adjusting the thread model:
> >
> > http://libguestfs.org/nbdkit-plugin.3.html#Threads
> >
> > The file plugin uses PARALLEL:
> >
> > $ nbdkit file --dump-plugin | grep thread
> > max_thread_model=parallel
> > thread_model=parallel
> >
> > The VDDK plugin currently uses SERIALIZE_ALL_REQUESTS:
> >
> > $ nbdkit vddk --dump-plugin | grep thread
> > max_thread_model=serialize_all_requests
> > thread_model=serialize_all_requests
> >
> &g...
2019 Aug 02
0
Re: [nbdkit PATCH v2 15/17] sh: Enable parallel thread model, when possible
...omitted, then the plugin will be
>> -executed under the default sh thread model (currently
>> -C<"serialize_all_requests">, which implies this callback only makes a
>> -difference with an output of C<"serialize_connections">; look for
>> -'max_thread_model' in C<nbdkit --dump-plugin sh>). If an error
>> -occurs, the script should output an error message and exit with status
>> -C<1>; unrecognized output is ignored.
>> +executed under the default sh thread model (either C<"parallel"> or
>> +C<...
2019 Aug 02
23
[nbdkit PATCH v2 00/17] fd leak safety
This is a major rewrite compared to my v1 series, where I've tried
a lot harder to ensure that we still accommodate building on Haiku
(although I have not actually yet fired up a Haiku VM to try it
for myself). I also managed to make the sh plugin fully parallel,
on capable platforms.
See also my question on patch 10 on whether I've picked the best
naming convention.
Eric Blake (17):
2020 Aug 05
0
Re: More parallelism in VDDK driver (was: Re: CFME-5.11.7.3 Perf. Tests)
...he server. The server always uses a thread pool, but plugins can opt
> for more or less concurrency by adjusting the thread model:
>
> http://libguestfs.org/nbdkit-plugin.3.html#Threads
>
> The file plugin uses PARALLEL:
>
> $ nbdkit file --dump-plugin | grep thread
> max_thread_model=parallel
> thread_model=parallel
>
> The VDDK plugin currently uses SERIALIZE_ALL_REQUESTS:
>
> $ nbdkit vddk --dump-plugin | grep thread
> max_thread_model=serialize_all_requests
> thread_model=serialize_all_requests
>
> The proposal is to use SERIALIZE_REQUESTS,...
2020 Aug 05
0
Re: More parallelism in VDDK driver (was: Re: CFME-5.11.7.3 Perf. Tests)
...> for more or less concurrency by adjusting the thread model:
> > >
> > > http://libguestfs.org/nbdkit-plugin.3.html#Threads
> > >
> > > The file plugin uses PARALLEL:
> > >
> > > $ nbdkit file --dump-plugin | grep thread
> > > max_thread_model=parallel
> > > thread_model=parallel
> > >
> > > The VDDK plugin currently uses SERIALIZE_ALL_REQUESTS:
> > >
> > > $ nbdkit vddk --dump-plugin | grep thread
> > > max_thread_model=serialize_all_requests
> > > thread_model=seria...
2020 Aug 05
3
More parallelism in VDDK driver (was: Re: CFME-5.11.7.3 Perf. Tests)
[NB: Adding PUBLIC mailing list because this is upstream discussion]
On Mon, Aug 03, 2020 at 06:27:04PM +0100, Richard W.M. Jones wrote:
> On Mon, Aug 03, 2020 at 06:03:23PM +0300, Nir Soffer wrote:
> > On Mon, Aug 3, 2020 at 5:47 PM Richard W.M. Jones <rjones@redhat.com> wrote:
> > All this make sense, but when we upload 10 disks we have 10 connections
> > but still we
2019 Aug 02
1
[nbdkit PATCH] server: Restrict thread model when no atomic CLOEXEC
...imitations imposed by the system (for
+example, a system without atomic C<FD_CLOEXEC> will serialize all
+requests, so as to avoid nbdkit leaking a new file descriptor from one
+thread into a child process created by another thread).
+
+In C<nbdkit --dump-plugin PLUGIN> output, the C<max_thread_model> line
+matches the C<THREAD_MODEL> macro, and the C<thread_model> line
+matches what the system finally settled on after applying all
+restrictions.
The possible settings for C<THREAD_MODEL> are defined below.
@@ -981,8 +989,11 @@ Multiple handles can be open and multiple da...
2019 Aug 02
2
Re: [nbdkit PATCH v2 10/17] plugins: Add .fork_safe field
On Fri, Aug 02, 2019 at 02:26:11PM -0500, Eric Blake wrote:
> Allow a plugin field to declare whether a parallel plugin can tolerate
> windows where fds are not CLOEXEC, or must take precautions to avoid
> leaking fds if the plugin may fork. For safety reasons, the flag
> defaults to off, but many in-tree plugins can set it to on (most
> commonly because they don't fork after
2019 Aug 02
0
[nbdkit PATCH v2 10/17] plugins: Add .fork_safe field
...et, serializing to avoid fd leaks");
+ thread_model = NBDKIT_THREAD_MODEL_SERIALIZE_ALL_REQUESTS;
+ }
+
if (p->plugin.thread_model) {
r = p->plugin.thread_model ();
if (r == -1)
@@ -187,6 +196,7 @@ plugin_dump_fields (struct backend *b)
plugin_dump_thread_model ("max_thread_model", p->plugin._thread_model);
plugin_dump_thread_model ("thread_model", backend->thread_model (backend));
printf ("errno_is_preserved=%d\n", !!p->plugin.errno_is_preserved);
+ printf ("fork_safe=%d\n", !!p->plugin.fork_safe);
if (p->plugin.m...
2020 Feb 12
5
[PATCH nbdkit 1/3] server: Rename global backend pointer to "top".
...backend = NULL;
+ top->free (top);
+ top = NULL;
free (unixsocket);
free (pidfile);
diff --git a/server/plugins.c b/server/plugins.c
index 9595269c..16b4099b 100644
--- a/server/plugins.c
+++ b/server/plugins.c
@@ -144,7 +144,7 @@ plugin_dump_fields (struct backend *b)
printf ("max_thread_model=%s\n",
name_of_thread_model (p->plugin._thread_model));
printf ("thread_model=%s\n",
- name_of_thread_model (backend->thread_model (backend)));
+ name_of_thread_model (top->thread_model (top)));
printf ("errno_is_preserved=%d\n",...