search for: pwritev

Displaying 11 results from an estimated 11 matches for "pwritev".

Did you mean: writev
2017 Nov 16
2
Re: [Qemu-devel] Effect of qemu-img convert -m and -W options
On Thu, Nov 16, 2017 at 02:47:46PM +0000, Stefan Hajnoczi wrote: > The threads you observed are the thread pool that performs > preadv(2)/pwritev(2) syscalls. The Linux AIO API could be used instead > and does not use threads for read and write operations. I guess if I used AIO then I wouldn't get any parallelism at all since Linux doesn't block on local file access (at least, it never used to)? > Interesting. Did you perfo...
2017 Nov 16
1
Re: [Qemu-devel] Effect of qemu-img convert -m and -W options
On Thu, Nov 16, 2017 at 3:10 PM, Richard W.M. Jones <rjones@redhat.com> wrote: > On Thu, Nov 16, 2017 at 02:47:46PM +0000, Stefan Hajnoczi wrote: >> The threads you observed are the thread pool that performs >> preadv(2)/pwritev(2) syscalls. The Linux AIO API could be used instead >> and does not use threads for read and write operations. > > I guess if I used AIO then I wouldn't get any parallelism at all since > Linux doesn't block on local file access (at least, it never used to)? Even assuming...
2017 Nov 15
3
Effect of qemu-img convert -m and -W options
[CC to qemu-devel since I'm obviously doing something wrong here, I'm just not sure what.] I was getting ready to add multiple threads to ‘qemu-img convert’ (the longest part of v2v conversions) when I noticed that it had them already! (To be fair this was only added in February this year so no wonder we didn't notice.) To enable parallel convert we would need to use the ‘qemu-img
2017 Nov 16
0
Re: [Qemu-devel] Effect of qemu-img convert -m and -W options
...2017 at 05:30:48PM +0000, Stefan Hajnoczi wrote: > On Thu, Nov 16, 2017 at 3:10 PM, Richard W.M. Jones <rjones@redhat.com> wrote: > > Both local filesystems, but on different SATA devices. > > Okay. I'm curious what the strace -f output looks like (only the > preadv(2)/pwritev(2) syscalls are interesting at the moment). Here's the full strace from one run: http://oirase.annexia.org/tmp/strace.xz The command is (with the output.qcow2 file created in a previous run): $ strace -o /tmp/strace -f -s 1024 qemu-img convert -f raw fedora-27.img -O qcow2 /var/tmp/outp...
2017 Nov 16
0
Re: [Qemu-devel] Effect of qemu-img convert -m and -W options
...the destination) and > ‘qemu-img convert -m <#num-coroutines>’ option to select the > parallelism (defaults to 8). The documentation refers to coroutines > but I verified from strace that it is using real threads. The threads you observed are the thread pool that performs preadv(2)/pwritev(2) syscalls. The Linux AIO API could be used instead and does not use threads for read and write operations. So these threads are just an implementation detail. The caller doing the reads and writes is not multi-threaded but a number of coroutines executing in a single thread. The qemu-img conv...
2017 Nov 16
2
Re: [Qemu-devel] Effect of qemu-img convert -m and -W options
...>> ‘qemu-img convert -m <#num-coroutines>’ option to select the >> parallelism (defaults to 8). The documentation refers to coroutines >> but I verified from strace that it is using real threads. > The threads you observed are the thread pool that performs > preadv(2)/pwritev(2) syscalls. The Linux AIO API could be used instead > and does not use threads for read and write operations. So these > threads are just an implementation detail. The caller doing the reads > and writes is not multi-threaded but a number of coroutines executing in > a single thread...
2020 Aug 06
2
[PATCH nbdkit] Experiment with parallel python plugin
...7 +49,7 @@ def open(readonly): flags = os.O_RDONLY else: flags = os.O_RDWR - fd = os.open(filename, flags) + fd = os.open(filename, flags | os.O_DIRECT) return { 'fd': fd } def get_size(h): @@ -65,3 +65,6 @@ def pwrite(h, buf, offset, flags): n = os.pwritev(h['fd'], [buf], offset) if n != len(buf): raise RuntimeError("short write") + +def flush(h, flags): + os.fsync(h['fd']) diff --git a/server/plugins.c b/server/plugins.c index d4364cd2..ce4700a3 100644 --- a/server/plugins.c +++ b/server/plugins.c @@ -631,6...
2020 Aug 06
0
[PATCH nbdkit] Experiment with parallel python plugin
...7 +49,7 @@ def open(readonly): flags = os.O_RDONLY else: flags = os.O_RDWR - fd = os.open(filename, flags) + fd = os.open(filename, flags | os.O_DIRECT) return { 'fd': fd } def get_size(h): @@ -65,3 +65,6 @@ def pwrite(h, buf, offset, flags): n = os.pwritev(h['fd'], [buf], offset) if n != len(buf): raise RuntimeError("short write") + +def flush(h, flags): + os.fsync(h['fd']) diff --git a/server/plugins.c b/server/plugins.c index d4364cd2..ce4700a3 100644 --- a/server/plugins.c +++ b/server/plugins.c @@ -631,6...
2020 Aug 06
0
Re: [PATCH nbdkit] Experiment with parallel python plugin
...= os.O_RDONLY > else: > flags = os.O_RDWR > - fd = os.open(filename, flags) > + fd = os.open(filename, flags | os.O_DIRECT) > return { 'fd': fd } > > def get_size(h): > @@ -65,3 +65,6 @@ def pwrite(h, buf, offset, flags): > n = os.pwritev(h['fd'], [buf], offset) > if n != len(buf): > raise RuntimeError("short write") > + > +def flush(h, flags): > + os.fsync(h['fd']) > diff --git a/server/plugins.c b/server/plugins.c > index d4364cd2..ce4700a3 100644 > --- a/server/pl...
2013 Aug 21
0
Build problems: klibc with Linux 3.10.7
...ettime SYSCALL FOUND: ioctl SYSCALL FOUND: removexattr SYSCALL FOUND: inotify_init1 SYSCALL FOUND: nfsservctl SYSCALL FOUND: perf_event_open SYSCALL FOUND: io_destroy SYSCALL FOUND: prctl SYSCALL FOUND: rt_sigpending SYSCALL FOUND: rtas SYSCALL FOUND: fcntl64 SYSCALL FOUND: mq_notify SYSCALL FOUND: pwritev SYSCALL FOUND: quotactl SYSCALL FOUND: epoll_ctl SYSCALL FOUND: tuxcall SYSCALL FOUND: setresuid SYSCALL FOUND: mincore SYSCALL FOUND: rt_sigreturn SYSCALL FOUND: restart_syscall SYSCALL FOUND: process_vm_readv SYSCALL FOUND: vhangup SYSCALL FOUND: oldstat SYSCALL FOUND: query_module SYSCALL FOUND:...
2013 Aug 21
5
Build problems: klibc with Linux 3.10.7
On Tue, Aug 20, 2013 at 07:44:39AM +0200, leroy christophe wrote: > > > Find attached two patches I have in order to build klibc 2.0.2 > against kernel 3.8.13 > We had to introduce those patches when going from kernel 3.6 to kernel 3.7 > Hope it helps. > those patches are wrong and again very brittle. just use the way it is described in `make help': A) cd ~/src/linux