reads.
[...@in.ibm.com: Facelift of the code, Documentation, cancel_threadlet
and other helpers]
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
Signed-off-by: Arun R Bharadwaj
---
Makefile.objs |3 +
docs/async-support.txt |
: Arun R Bharadwaj
Acked-by: Balbir Singh
---
posix-aio-compat.c | 170 ++--
1 files changed, 33 insertions(+), 137 deletions(-)
diff --git a/posix-aio-compat.c b/posix-aio-compat.c
index 7b862b5..2e47736 100644
--- a/posix-aio-compat.c
+++ b/posix-aio
Hi,
This is the v8 of the patch-series to have a generic asynchronous task
offloading framework (called threadlets) within qemu.
Changes from v7:
* A few minor modific
progress.
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
Signed-off-by: Arun R Bharadwaj
---
hw/virtio-9p.c | 164
posix-aio-compat.c | 46 +--
qemu-threadlets.c | 21 +++
qemu-threadlets.h |1
* Anthony Liguori [2010-11-01 08:40:36]:
> On 10/26/2010 09:14 AM, Arun R Bharadwaj wrote:
> >+Q.7: Apart from the global pool of threads, can I have my own private Queue
> >?
> >+A.7: Yes, the threadlets framework allows subsystems to create their own
> >p
progress.
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
Signed-off-by: Arun R Bharadwaj
---
hw/virtio-9p.c | 165
posix-aio-compat.c | 33 +++---
qemu-threadlets.c | 21 +++
qemu-threadlets.h |1
vl.c
The reason for creating this generic infrastructure is so that other subsystems,
such as virtio-9p could make use of it for offloading tasks that could block.
Signed-off-by: Arun R Bharadwaj
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
paio_cancel and use mutex
to wait for request to complete.
* Address the issue of dead code due to
MAX_GLOBAL_THREADS = MIN_GLOBAL_THREADS
The following series implements...
---
Aneesh Kumar K.V (1):
Make paio subsystem use threadlets infrastructure
Arun R Bharadwaj (1):
Move threadlets
* Arun R Bharadwaj [2010-11-08 16:16:50]:
> Hi,
>
> This is the v9 of the refactored patch-series to have a generic
> asynchronous task offloading framework (called threadlets)
> within qemu.
>
>
Testing carried out:
I have run KVM autotest suite with this patch
* Arun R Bharadwaj [2010-11-08 16:16:50]:
Make paio subsystem use threadlets infrastructure
From: Aneesh Kumar K.V
This patch creates a generic asynchronous-task-offloading infrastructure named
threadlets.
The patch creates a global queue on-to which subsystems can queue their tasks to
be
ate a private queue
with an associated pool of threads.
The patch has been tested with fstress.
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Arun R Bharadwaj
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
---
Makefile.objs |2
posix-aio-compat.c |
* Stefan Hajnoczi [2010-11-08 21:29:12]:
> On Mon, Nov 8, 2010 at 2:33 PM, Arun R Bharadwaj
> wrote:
> > diff --git a/Makefile.objs b/Makefile.objs
> > index cd5a24b..3b7ec27 100644
> > --- a/Makefile.objs
> > +++ b/Makefile.objs
> > @@ -9,6 +9,7 @@ qobject-
=y from the
configure code.
The following series implements...
---
Aneesh Kumar K.V (1):
Make paio subsystem use threadlets infrastructure
Arun R Bharadwaj (1):
Move threadlets infrastructure to qemu-threadlets.c
Gautham R Shenoy (1):
Add helper functions to enable virtio
ate a private queue
with an associated pool of threads.
The patch has been tested with fstress.
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Arun R Bharadwaj
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
---
Makefile.objs |2
configure |2
posix-aio-com
The reason for creating this generic infrastructure is so that other subsystems,
such as virtio-9p could make use of it for offloading tasks that could block.
Signed-off-by: Arun R Bharadwaj
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
progress.
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
Signed-off-by: Arun R Bharadwaj
---
hw/virtio-9p.c | 164
posix-aio-compat.c | 30 +++---
qemu-threadlets.c | 21 +++
qemu-threadlets.h |1
vl.c
* Stefan Hajnoczi [2010-11-10 13:45:29]:
> On Wed, Nov 10, 2010 at 1:19 PM, Arun R Bharadwaj
> wrote:
> > @@ -301,106 +431,58 @@ static ssize_t handle_aiocb_rw(struct qemu_paiocb
> > *aiocb)
> > return nbytes;
> > }
> >
> > -static void
* Blue Swirl [2010-11-10 17:29:30]:
> On Wed, Nov 10, 2010 at 1:19 PM, Arun R Bharadwaj
> wrote:
> > The reason for creating this generic infrastructure is so that other
> > subsystems,
> > such as virtio-9p could make use of it for offloading tasks that could
> >
* Stefan Hajnoczi [2010-11-10 13:47:22]:
> On Wed, Nov 10, 2010 at 1:19 PM, Arun R Bharadwaj
> wrote:
> > The reason for creating this generic infrastructure is so that other
> > subsystems,
> > such as virtio-9p could make use of it for offloading tasks that could
&
-dbench
-fsstress
-disktest
-cpu_hotplug
-hackbench
-sleeptest
Changelog:
* Moved the qemu_cond_broadcast to the right place.
* Removed unnecessary extern qualifiers.
The following series implements...
---
Arun R Bharadwaj (1):
Move threadlets
ate a private queue
with an associated pool of threads.
The patch has been tested with fstress.
Signed-off-by: Arun R Bharadwaj
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
---
Makefile.objs |2
configure |2
posix-aio-com
The reason for creating this generic infrastructure is so that other subsystems,
such as virtio-9p could make use of it for offloading tasks that could block.
Signed-off-by: Arun R Bharadwaj
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
Acked-by
progress.
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
Signed-off-by: Arun R Bharadwaj
---
hw/virtio-9p.c | 164
posix-aio-compat.c | 30 +++---
qemu-threadlets.c | 21 +++
qemu-threadlets.h |1
vl.c
* Anthony Liguori [2010-11-15 15:13:24]:
> On 11/15/2010 11:53 AM, Arun R Bharadwaj wrote:
> >From: Gautham R Shenoy
> >
> >This patch creates a generic asynchronous-task-offloading infrastructure
> >named
> >threadlets.
> >
> >The patch creates a
implements...
---
Arun R Bharadwaj (5):
Make the necessary changes in Makefile and configure file.
Move paio_cancel() to new infrastructure.
Move qemu_paio_submit() to the new infrastructure.
Cleanup posix-aio.compat.c off all the old code.
Move threadlets infrastructure
progress.
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
Signed-off-by: Arun R Bharadwaj
---
hw/virtio-9p.c | 164
posix-aio-compat.c | 30 +++---
qemu-threadlets.c | 21 +++
qemu-threadlets.h |1
vl.c
Signed-off-by: Arun R Bharadwaj
---
Makefile.objs |2 +-
configure |2 --
2 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/Makefile.objs b/Makefile.objs
index cd5a24b..3b7ec27 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -9,6 +9,7 @@ qobject-obj-y += qerror.o
Move qemu_paio_submit() to the new infrastructure and
introduce the necessary APIs.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 224 ++--
1 files changed, 147 insertions(+), 77 deletions(-)
diff --git a/posix-aio-compat.c b/posix
Move paio_cancel() to new infrastructure and introduce
the necessary APIs for this.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 92 ++--
1 files changed, 74 insertions(+), 18 deletions(-)
diff --git a/posix-aio-compat.c b/posix-aio
Cleanup posix-aio.compat.c off all the old code which
is now useless after introducing the generic threadlet
infrasturcture.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 57 +---
1 files changed, 1 insertions(+), 56 deletions
The reason for creating this generic infrastructure is so that other subsystems,
such as virtio-9p could make use of it for offloading tasks that could block.
Signed-off-by: Arun R Bharadwaj
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
Acked-by
Hi,
This patch series implements threadlets infrastructure in qemu.
This is a complete rework of the earlier patch series so that
it becomes easier to review. I have broken down the earlier
patch series as asked by Anthony
The following series implements...
---
Arun R Bharadwaj (13
the Makefile entry to compile qemu-thread.c
when CONFIG_POSIX is set, instead of the unused CONFIG_THREAD.
Signed-off-by: Arun R Bharadwaj
---
Makefile.objs |2 +-
posix-aio-compat.c | 37 -
2 files changed, 29 insertions(+), 10 deletions(-)
diff
This patch introduces work concept by introducing the
ThreadletWork structure.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 20 ++--
1 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/posix-aio-compat.c b/posix-aio-compat.c
index ae5e20e..de52eb5
This patch adds the callback function to the ThreadletWork
structure and moves aio handler as a callback function.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 88 +---
1 files changed, 49 insertions(+), 39 deletions(-)
diff --git a
This patch adds a global queue of type ThreadletQueue and
removes the earlier usage of request_list queue.
We want to create the thread on the first submit. Hence we
need to track whether the globalqueue is initialized or not.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 161
This patch adds submit work threadlet API and shows how
the qemu_paio_submit changes to submit_work.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 33 ++---
1 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/posix-aio-compat.c b/posix-aio
This patch adds dequeue_work threadlet API and shows how
the paio_cancel changes to dequeue_work.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 46 ++
1 files changed, 26 insertions(+), 20 deletions(-)
diff --git a/posix-aio-compat.c b
Signed-off-by: Arun R Bharadwaj
Signed-off-by: Gautham R Shenoy
---
docs/async-support.txt | 141
1 files changed, 141 insertions(+), 0 deletions(-)
create mode 100644 docs/async-support.txt
diff --git a/docs/async-support.txt b/docs/async
This patch adds aio_signal_handler threadlet API. Earler
posix-aio-compat.c had its own signal handler code. Now
abstract this, in the later patch it is moved to a generic
code so that it can be used by other subsystems.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 49
The active field in the qemu_aiocb structure is now useless.
Remove it.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 17 ++---
1 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/posix-aio-compat.c b/posix-aio-compat.c
index 8f1a9b6..fd9fcfd 100644
--- a
This patch allows subsystems to create their own private
queues with associated pools of threads.
Signed-off-by: Arun R Bharadwaj
---
qemu-threadlets.c | 80 ++---
qemu-threadlets.h |4 +++
2 files changed, 62 insertions(+), 22 deletions
Remove thread_create and use qemu_thread_create instead.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 19 ++-
1 files changed, 2 insertions(+), 17 deletions(-)
diff --git a/posix-aio-compat.c b/posix-aio-compat.c
index fd9fcfd..3b01c9b 100644
--- a/posix-aio
Remove all instances of CONFIG_THREAD, which is not used
anymore.
Signed-off-by: Arun R Bharadwaj
---
configure |2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index a079a49..addf733 100755
--- a/configure
+++ b/configure
@@ -2456,7 +2456,6 @@ if
This patch moves the threadlet queue API code to
qemu-threadlets.c where these APIs can be used by
other subsystems.
Signed-off-by: Arun R Bharadwaj
---
Makefile.objs |1
posix-aio-compat.c | 151
qemu-thread.h |1
qemu
* Venkateswararao Jujjuri (JV) [2011-01-04 15:13:45]:
> On 1/3/2011 9:27 PM, Arun R Bharadwaj wrote:
> > Hi,
> >
> > This patch series implements threadlets infrastructure in qemu.
> >
> > This is a complete rework of the earlier patch series so that
> &
* Stefan Hajnoczi [2011-01-05 19:54:17]:
> On Tue, Jan 04, 2011 at 10:57:20AM +0530, Arun R Bharadwaj wrote:
> > +static void aio_thread(ThreadletWork *work)
> > +{
>
> aio_thread() is not a descriptive name here. This isn't the top-level
> thread function, just t
* Stefan Hajnoczi [2011-01-05 19:53:44]:
> On Tue, Jan 04, 2011 at 10:57:08AM +0530, Arun R Bharadwaj wrote:
> > @@ -545,13 +555,19 @@ static void paio_cancel(BlockDriverAIOCB *blockacb)
> > }
> > mutex_unlock(&lock);
> >
> > -if (active) {
* Stefan Hajnoczi [2011-01-05 19:55:46]:
> On Tue, Jan 04, 2011 at 10:57:39AM +0530, Arun R Bharadwaj wrote:
> > @@ -574,33 +574,39 @@ static void paio_remove(struct qemu_paiocb *acb)
> > }
> > }
> >
> > -static void paio_cancel(BlockDriverAIOCB *blocka
* Stefan Hajnoczi [2011-01-05 19:56:00]:
> On Tue, Jan 04, 2011 at 10:57:49AM +0530, Arun R Bharadwaj wrote:
> > Remove thread_create and use qemu_thread_create instead.
> >
> > Signed-off-by: Arun R Bharadwaj
> > ---
> > posix-aio-compat.c | 19 ++
* Stefan Hajnoczi [2011-01-05 19:54:38]:
> On Tue, Jan 04, 2011 at 10:57:27AM +0530, Arun R Bharadwaj wrote:
> > @@ -66,15 +81,10 @@ typedef struct PosixAioState {
> > struct qemu_paiocb *first_aio;
> > } PosixAioState;
> >
> > -
fsb.
* bonnie test run on fedora guest on block device.
* iozone -l test run on fedora guest to stress the posix-aio-compat.c
code. (suggested by Stefan)
* windows guest installation test and iozone -l test run on windows
guest.
The following series implements...
---
Arun R Bharadwaj (12):
This patch introduces work concept by introducing the
ThreadletWork structure.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 20 ++--
1 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/posix-aio-compat.c b/posix-aio-compat.c
index 82862ec..ddf42f5
the Makefile entry to compile qemu-thread.c
when CONFIG_POSIX is set, instead of the unused CONFIG_THREAD.
Signed-off-by: Arun R Bharadwaj
---
Makefile.objs |2 +-
posix-aio-compat.c | 39 ---
2 files changed, 29 insertions(+), 12 deletions(-)
diff
This patch adds the callback function to the ThreadletWork
structure and moves aio handler as a callback function.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 89 +---
1 files changed, 50 insertions(+), 39 deletions(-)
diff --git a
This patch adds a global queue of type ThreadletQueue and
removes the earlier usage of request_list queue.
We want to create the thread on the first submit. Hence we
need to track whether the globalqueue is initialized or not.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 149
Remove thread_create and use qemu_thread_create instead.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 29 ++---
1 files changed, 2 insertions(+), 27 deletions(-)
diff --git a/posix-aio-compat.c b/posix-aio-compat.c
index 2d73846..8c5bb46 100644
--- a/posix
This patch adds submit work threadlet API and shows how
the qemu_paio_submit changes to submit_work.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 33 ++---
1 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/posix-aio-compat.c b/posix-aio
This patch adds dequeue_work threadlet API and shows how
the paio_cancel changes to dequeue_work.
The active field in the qemu_aiocb structure is now useless.
Remove it.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 38 --
1 files changed, 16
This patch moves the threadlet queue API code to
qemu-threadlets.c where these APIs can be used by
other subsystems.
Signed-off-by: Arun R Bharadwaj
---
Makefile.objs |1
posix-aio-compat.c | 144
qemu-thread.h |1
qemu
This patch adds aio_signal_handler threadlet API. Earler
posix-aio-compat.c had its own signal handler code. Now
abstract this, in the later patch it is moved to a generic
code so that it can be used by other subsystems.
Signed-off-by: Arun R Bharadwaj
---
posix-aio-compat.c | 49
This patch allows subsystems to create their own private
queues with associated pools of threads.
Signed-off-by: Arun R Bharadwaj
---
qemu-threadlets.c | 75 ++---
qemu-threadlets.h |4 +++
2 files changed, 58 insertions(+), 21 deletions
Remove all instances of CONFIG_THREAD, which is not used
anymore.
Signed-off-by: Arun R Bharadwaj
---
configure |2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index a079a49..addf733 100755
--- a/configure
+++ b/configure
@@ -2456,7 +2456,6 @@ if
Signed-off-by: Arun R Bharadwaj
Signed-off-by: Gautham R Shenoy
---
docs/async-support.txt | 141
1 files changed, 141 insertions(+), 0 deletions(-)
create mode 100644 docs/async-support.txt
diff --git a/docs/async-support.txt b/docs/async
* Stefan Hajnoczi [2011-01-17 09:57:45]:
> On Thu, Jan 13, 2011 at 12:15 PM, Arun R Bharadwaj
> wrote:
> > This patch moves the threadlet queue API code to
> > qemu-threadlets.c where these APIs can be used by
> > other subsystems.
>
> qemu-threadlet.c would be
* Stefan Hajnoczi [2011-01-17 10:32:24]:
> This series needs a new pair of eyes for review. I'm probably missing
> things here after seeing it many times.
>
> posix-aio-compat.c:handle_work() doesn't need to take aiocb_mutex for
> container_of(), which just calculates an address but doesn't act
* Stefan Hajnoczi [2011-01-17 09:56:58]:
> On Thu, Jan 13, 2011 at 12:14 PM, Arun R Bharadwaj
> wrote:
> > +static void threadlet_io_completion_signal_handler(int signum)
> > +{
> > + qemu_service_io();
> > +}
> > +
> > +static v
* Stefan Hajnoczi [2011-01-18 06:31:34]:
> On Tue, Jan 18, 2011 at 4:43 AM, Arun R Bharadwaj
> wrote:
> > * Stefan Hajnoczi [2011-01-17 09:56:58]:
> >
> >> On Thu, Jan 13, 2011 at 12:14 PM, Arun R Bharadwaj
> >> wrote:
> >> > +static void t
...
---
Arun R Bharadwaj (12):
Add aiocb_mutex and aiocb_completion.
Introduce work concept in posix-aio-compat.c
Add callback function to ThreadletWork structure.
Add ThreadletQueue.
Threadlet: Add submit_work threadlet API.
Threadlet: Add dequeue_work threadlet
the Makefile entry to compile qemu-thread.c
when CONFIG_POSIX is set, instead of the unused CONFIG_THREAD.
Signed-off-by: Arun R Bharadwaj
Reviewed-by: Stefan Hajnoczi
---
Makefile.objs |2 +-
posix-aio-compat.c | 39 ---
2 files changed, 29
This patch adds the callback function to the ThreadletWork
structure and moves aio handler as a callback function.
Signed-off-by: Arun R Bharadwaj
Reviewed-by: Stefan Hajnoczi
---
posix-aio-compat.c | 89 +---
1 files changed, 50 insertions
This patch adds aio_signal_handler threadlet API. Earler
posix-aio-compat.c had its own signal handler code. Now
abstract this, in the later patch it is moved to a generic
code so that it can be used by other subsystems.
Signed-off-by: Arun R Bharadwaj
Reviewed-by: Stefan Hajnoczi
Remove thread_create and use qemu_thread_create instead.
Signed-off-by: Arun R Bharadwaj
Reviewed-by: Stefan Hajnoczi
---
posix-aio-compat.c | 29 ++---
1 files changed, 2 insertions(+), 27 deletions(-)
diff --git a/posix-aio-compat.c b/posix-aio-compat.c
index
This patch adds a global queue of type ThreadletQueue and
removes the earlier usage of request_list queue.
We want to create the thread on the first submit. Hence we
need to track whether the globalqueue is initialized or not.
Signed-off-by: Arun R Bharadwaj
Reviewed-by: Stefan Hajnoczi
This patch adds submit work threadlet API and shows how
the qemu_paio_submit changes to submit_work.
Signed-off-by: Arun R Bharadwaj
Reviewed-by: Stefan Hajnoczi
---
posix-aio-compat.c | 33 ++---
1 files changed, 22 insertions(+), 11 deletions(-)
diff --git a
This patch allows subsystems to create their own private
queues with associated pools of threads.
Signed-off-by: Arun R Bharadwaj
Reviewed-by: Stefan Hajnoczi
---
qemu-threadlet.c | 85 +-
qemu-threadlet.h |4 +++
2 files changed, 63
Remove all instances of CONFIG_THREAD, which is not used
anymore.
Signed-off-by: Arun R Bharadwaj
Reviewed-by: Stefan Hajnoczi
---
configure |2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index a079a49..addf733 100755
--- a/configure
+++ b
This patch adds dequeue_work threadlet API and shows how
the paio_cancel changes to dequeue_work.
The active field in the qemu_aiocb structure is now useless.
Remove it.
Signed-off-by: Arun R Bharadwaj
Reviewed-by: Stefan Hajnoczi
---
posix-aio-compat.c | 48
This patch introduces work concept by introducing the
ThreadletWork structure.
Signed-off-by: Arun R Bharadwaj
Reviewed-by: Stefan Hajnoczi
---
posix-aio-compat.c | 20 ++--
1 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/posix-aio-compat.c b/posix-aio
This patch moves the threadlet queue API code to
qemu-threadlets.c where these APIs can be used by
other subsystems.
Signed-off-by: Arun R Bharadwaj
Reviewed-by: Stefan Hajnoczi
---
posix-aio-compat.c | 137
qemu-threadlet.c | 115
Signed-off-by: Arun R Bharadwaj
Signed-off-by: Gautham R Shenoy
Reviewed-by: Stefan Hajnoczi
---
docs/async-support.txt | 141
1 files changed, 141 insertions(+), 0 deletions(-)
create mode 100644 docs/async-support.txt
diff --git a/docs
Hi,
I am working on introducing threading model into Qemu. This introduces
the Threadlets infrastructure which allows subsystems to offload possibly
blocking work to a queue to be processed by a pool of threads asynchrnonously.
Threadlets are useful when there are operations that can be performed
Hi,
This is the v5 of the patch-series to have a generic asynchronous task
offloading framework (called threadlets) within qemu.
V4 can be found here:
http://www.mail-archive.com/qemu-devel@nongnu.org/msg36157.html
Change from v4:
* The earlier code was hitting a null pointer dereference error
reads.
[...@in.ibm.com: Facelift of the code, Documentation, cancel_threadlet
and other helpers]
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
Signed-off-by: Arun R Bharadwaj
---
Makefile.objs |3 +
docs/async-support.txt |
From: Gautham R Shenoy
This patch makes the paio subsystem use the threadlet framework thereby
decoupling asynchronous threading framework portion out of
posix-aio-compat.c
The patch has been tested with fstress.
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
---
posix-aio-comp
process any other guest
operations while the processing of v9fs_io is in progress.
Signed-off-by: Gautham R Shenoy
Signed-off-by: Sripathi Kodi
Signed-off-by: Arun R Bharadwaj
---
hw/virtio-9p.c | 165
posix-aio-compat.c | 33
From: Gautham R Shenoy
This patch offloads all the blocking calls invoked for v9fs_walk onto the
helper threads belonging to the threadlets infrastructure. The handling of
the v9fs_post_*walk* calls is done from the io-thread context.
Signed-off-by: Gautham R Shenoy
---
hw/virtio-9p.c | 78 +
From: Gautham R Shenoy
This patch offloads all the blocking calls invoked for v9fs_wstat onto
the helper threads belonging to the threadlets infrastructure.The handling
of the v9fs_post_*wstat* calls is done from the io-thread context.
Signed-off-by: Gautham R Shenoy
---
hw/virtio-9p.c | 291
From: Gautham R Shenoy
This patch offloads all the blocking calls invoked for v9fs_read onto the
helper threads belonging to the threadlets infrastructure. The handling of
the v9fs_post_*read* calls is done from the io-thread context.
Signed-off-by: Gautham R Shenoy
Signed-off-by: Arun R
From: Gautham R Shenoy
This patch offloads all the blocking calls invoked for v9fs_write onto the
helper threads belonging to the threadlets infrastructure. The handling of
the v9fs_post_*write* calls is done from the io-thread context.
Signed-off-by: Gautham R Shenoy
Signed-off-by: Arun R
From: Gautham R Shenoy
This patch offloads all the blocking calls invoked for v9fs_open onto the
helper threads belonging to the threadlets infrastructure. The handling of
the v9fs_post_*open* calls is done from the io-thread context.
Signed-off-by: Gautham R Shenoy
---
hw/virtio-9p.c | 86 +
Hi,
The threadlets framework in qemu is being discussed here:
http://www.mail-archive.com/qemu-devel@nongnu.org/msg36157.html
This patchset implements the First threading model in Qemu using
the above infrastructure.
Following are the features of the first threading model:
* The VCPU thread run
From: Gautham R Shenoy
Every call to v9fs_stat() is processed in the context of the vcpu thread before
offloading the actual stat operation onto an async-thread. The post operation is
handled in the context of the io-thread which in turn does the complete()
operation for this particular v9fs_stat
Hi,
This is the v6 of the patch-series to have a generic asynchronous task
offloading framework (called threadlets) within qemu.
V5 can be found here:
http://www.mail-archive.com/qemu-devel@nongnu.org/msg36678.html
Change from v5:
* The earlier code was hitting a null pointer dereference error
* Arun R Bharadwaj [2010-10-13 22:14:39]:
commit 1fb4801768722016cd6ec9bbf1271c69b37df2a2
Author: Aneesh Kumar K.V
Date: Tue Oct 12 14:06:10 2010 +0530
Introduce threadlets
This patch creates a generic asynchronous-task-offloading infrastructure
named
threadlets. The core
* Arun R Bharadwaj [2010-10-13 22:14:39]:
Make paio subsystem use threadlets
From: Gautham R Shenoy
This patch makes the paio subsystem use the threadlet framework thereby
decoupling asynchronous threading framework portion out of
posix-aio-compat.c
The patch has been tested with fstress
* Arun R Bharadwaj [2010-10-13 22:14:39]:
commit 1da2167c0c68bf24a841affa1bf6d2510cb675f2
Author: Gautham R Shenoy
Date: Wed Oct 13 15:09:20 2010 +0530
Add helper functions for virtio-9p to use threadlets
Add helper functions to enable virtio-9p make use of the threadlets
Hi,
This patchset implements first threading model by making use
of the threadlets infrastructure being discussed here:
http://www.mail-archive.com/qemu-devel@nongnu.org/msg36678.html
Here are some of the performance results comparing between the
original code and threading model code:
http://pas
From: Gautham R Shenoy
Every call to v9fs_stat() is processed in the context of the vcpu thread before
offloading the actual stat operation onto an async-thread. The post operation is
handled in the context of the io-thread which in turn does the complete()
operation for this particular v9fs_stat
From: Gautham R Shenoy
This patch offloads all the blocking calls invoked for v9fs_read onto the
helper threads belonging to the threadlets infrastructure. The handling of
the v9fs_post_*read* calls is done from the io-thread context.
Signed-off-by: Gautham R Shenoy
Signed-off-by: Arun R
1 - 100 of 144 matches
Mail list logo