* [Qemu-devel] [PATCH] event_notifier: move to top-level directory @ 2011-09-27 14:26 Avi Kivity 2011-09-27 15:17 ` Stefan Hajnoczi 2011-11-01 22:18 ` Anthony Liguori 0 siblings, 2 replies; 17+ messages in thread From: Avi Kivity @ 2011-09-27 14:26 UTC (permalink / raw) To: Anthony Liguori, qemu-devel Has no business in hw/. Signed-off-by: Avi Kivity <avi@redhat.com> --- hw/event_notifier.c => event_notifier.c | 1 - hw/event_notifier.h => event_notifier.h | 0 2 files changed, 0 insertions(+), 1 deletions(-) rename hw/event_notifier.c => event_notifier.c (98%) rename hw/event_notifier.h => event_notifier.h (100%) diff --git a/hw/event_notifier.c b/event_notifier.c similarity index 98% rename from hw/event_notifier.c rename to event_notifier.c index 13f3656..2c73555 100644 --- a/hw/event_notifier.c +++ b/event_notifier.c @@ -10,7 +10,6 @@ * the COPYING file in the top-level directory. */ -#include "hw.h" #include "event_notifier.h" #ifdef CONFIG_EVENTFD #include <sys/eventfd.h> diff --git a/hw/event_notifier.h b/event_notifier.h similarity index 100% rename from hw/event_notifier.h rename to event_notifier.h -- 1.7.6.3 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-09-27 14:26 [Qemu-devel] [PATCH] event_notifier: move to top-level directory Avi Kivity @ 2011-09-27 15:17 ` Stefan Hajnoczi 2011-09-27 15:28 ` Jan Kiszka 2011-11-01 22:18 ` Anthony Liguori 1 sibling, 1 reply; 17+ messages in thread From: Stefan Hajnoczi @ 2011-09-27 15:17 UTC (permalink / raw) To: Avi Kivity; +Cc: qemu-devel On Tue, Sep 27, 2011 at 3:26 PM, Avi Kivity <avi@redhat.com> wrote: > Has no business in hw/. > > Signed-off-by: Avi Kivity <avi@redhat.com> > --- > hw/event_notifier.c => event_notifier.c | 1 - > hw/event_notifier.h => event_notifier.h | 0 > 2 files changed, 0 insertions(+), 1 deletions(-) > rename hw/event_notifier.c => event_notifier.c (98%) > rename hw/event_notifier.h => event_notifier.h (100%) Yay. Now perhaps we can kill qemu_eventfd(), whose users are typically poking around with write(2) and read(2) when really they could use the high-level event_notifier.h API. Stefan ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-09-27 15:17 ` Stefan Hajnoczi @ 2011-09-27 15:28 ` Jan Kiszka 2011-09-27 16:05 ` Anthony Liguori 0 siblings, 1 reply; 17+ messages in thread From: Jan Kiszka @ 2011-09-27 15:28 UTC (permalink / raw) To: Stefan Hajnoczi; +Cc: Avi Kivity, qemu-devel On 2011-09-27 17:17, Stefan Hajnoczi wrote: > On Tue, Sep 27, 2011 at 3:26 PM, Avi Kivity <avi@redhat.com> wrote: >> Has no business in hw/. >> >> Signed-off-by: Avi Kivity <avi@redhat.com> >> --- >> hw/event_notifier.c => event_notifier.c | 1 - >> hw/event_notifier.h => event_notifier.h | 0 >> 2 files changed, 0 insertions(+), 1 deletions(-) >> rename hw/event_notifier.c => event_notifier.c (98%) >> rename hw/event_notifier.h => event_notifier.h (100%) > > Yay. Now perhaps we can kill qemu_eventfd(), whose users are > typically poking around with write(2) and read(2) when really they > could use the high-level event_notifier.h API. EventNotifiers will have to be superseded by something more generic first. It's not fully covering the use cases of cpus.c and posix-aio-compat.c. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-09-27 15:28 ` Jan Kiszka @ 2011-09-27 16:05 ` Anthony Liguori 2011-09-27 16:39 ` Paolo Bonzini 0 siblings, 1 reply; 17+ messages in thread From: Anthony Liguori @ 2011-09-27 16:05 UTC (permalink / raw) To: Jan Kiszka; +Cc: Kevin Wolf, Stefan Hajnoczi, Avi Kivity, qemu-devel [-- Attachment #1: Type: text/plain, Size: 1430 bytes --] On 09/27/2011 10:28 AM, Jan Kiszka wrote: > On 2011-09-27 17:17, Stefan Hajnoczi wrote: >> On Tue, Sep 27, 2011 at 3:26 PM, Avi Kivity<avi@redhat.com> wrote: >>> Has no business in hw/. >>> >>> Signed-off-by: Avi Kivity<avi@redhat.com> >>> --- >>> hw/event_notifier.c => event_notifier.c | 1 - >>> hw/event_notifier.h => event_notifier.h | 0 >>> 2 files changed, 0 insertions(+), 1 deletions(-) >>> rename hw/event_notifier.c => event_notifier.c (98%) >>> rename hw/event_notifier.h => event_notifier.h (100%) >> >> Yay. Now perhaps we can kill qemu_eventfd(), whose users are >> typically poking around with write(2) and read(2) when really they >> could use the high-level event_notifier.h API. > > EventNotifiers will have to be superseded by something more generic > first. It's not fully covering the use cases of cpus.c and > posix-aio-compat.c. Actually, for posix-aio, we can just switch to using g_idle_add(). g_idle_add() uses g_source_attach which is thread safe. g_idle_add() gives you a thread safe mechanism to defer a piece of work to the main loop which is really what we want here. This can actually be made to work with sync I/O emulation too by having another GMainLoop in the sync I/O loop although I thought I recalled a patch series to remove that stuff. Kevin/Stefan, what's the plans for sync I/O emulation? See untested patch below. Regards, Anthony Liguori > > Jan > [-- Attachment #2: 0001-posix-aio-compat-use-g_idle_add.patch --] [-- Type: text/x-patch, Size: 2858 bytes --] >From cf036a192f09ea76d89648b83ec84a4226d14172 Mon Sep 17 00:00:00 2001 From: Anthony Liguori <aliguori@us.ibm.com> Date: Tue, 27 Sep 2011 11:01:51 -0500 Subject: [PATCH] posix-aio-compat: use g_idle_add() Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> --- posix-aio-compat.c | 51 +++++++-------------------------------------------- 1 files changed, 7 insertions(+), 44 deletions(-) diff --git a/posix-aio-compat.c b/posix-aio-compat.c index d3c1174..1f746be 100644 --- a/posix-aio-compat.c +++ b/posix-aio-compat.c @@ -52,7 +52,6 @@ struct qemu_paiocb { }; typedef struct PosixAioState { - int rfd, wfd; struct qemu_paiocb *first_aio; } PosixAioState; @@ -466,7 +465,7 @@ static int qemu_paio_error(struct qemu_paiocb *aiocb) return ret; } -static int posix_aio_process_queue(void *opaque) +static gboolean posix_aio_process_queue(void *opaque) { PosixAioState *s = opaque; struct qemu_paiocb *acb, **pacb; @@ -477,8 +476,9 @@ static int posix_aio_process_queue(void *opaque) pacb = &s->first_aio; for(;;) { acb = *pacb; - if (!acb) - return result; + if (!acb) { + goto out; + } ret = qemu_paio_error(acb); if (ret == ECANCELED) { @@ -513,27 +513,8 @@ static int posix_aio_process_queue(void *opaque) } } - return result; -} - -static void posix_aio_read(void *opaque) -{ - PosixAioState *s = opaque; - ssize_t len; - - /* read all bytes from signal pipe */ - for (;;) { - char bytes[16]; - - len = read(s->rfd, bytes, sizeof(bytes)); - if (len == -1 && errno == EINTR) - continue; /* try again */ - if (len == sizeof(bytes)) - continue; /* more to read */ - break; - } - - posix_aio_process_queue(s); +out: + return FALSE; } static int posix_aio_flush(void *opaque) @@ -546,12 +527,7 @@ static PosixAioState *posix_aio_state; static void posix_aio_notify_event(void) { - char byte = 0; - ssize_t ret; - - ret = write(posix_aio_state->wfd, &byte, sizeof(byte)); - if (ret < 0 && errno != EAGAIN) - die("write()"); + g_idle_add(posix_aio_process_queue, posix_aio_state); } static void paio_remove(struct qemu_paiocb *acb) @@ -665,19 +641,6 @@ int paio_init(void) s = g_malloc(sizeof(PosixAioState)); s->first_aio = NULL; - if (qemu_pipe(fds) == -1) { - fprintf(stderr, "failed to create pipe\n"); - return -1; - } - - s->rfd = fds[0]; - s->wfd = fds[1]; - - fcntl(s->rfd, F_SETFL, O_NONBLOCK); - fcntl(s->wfd, F_SETFL, O_NONBLOCK); - - qemu_aio_set_fd_handler(s->rfd, posix_aio_read, NULL, posix_aio_flush, - posix_aio_process_queue, s); ret = pthread_attr_init(&attr); if (ret) -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-09-27 16:05 ` Anthony Liguori @ 2011-09-27 16:39 ` Paolo Bonzini 2011-09-27 21:23 ` Anthony Liguori 0 siblings, 1 reply; 17+ messages in thread From: Paolo Bonzini @ 2011-09-27 16:39 UTC (permalink / raw) To: Anthony Liguori Cc: Kevin Wolf, Jan Kiszka, qemu-devel, Avi Kivity, Stefan Hajnoczi On 09/27/2011 06:05 PM, Anthony Liguori wrote: > Actually, for posix-aio, we can just switch to using g_idle_add(). > g_idle_add() uses g_source_attach which is thread safe. g_idle_add() > gives you a thread safe mechanism to defer a piece of work to the > main loop which is really what we want here. For that, a bottom half would also do (apart that I am not sure it is async-safe with TCG). In fact, that would make sense since all of posix_aio_process_queue could become a bottom half. But the problem to be solved here is waking up qemu_aio_wait, and scheduling bottom halves currently wakes up only the vl.c main loop. > This can actually be made to work with sync I/O emulation too by > having another GMainLoop in the sync I/O loop although I thought I > recalled a patch series to remove that stuff. ... which stuff? :) Another GMainLoop in the sync I/O loop is problematic for two reasons: 1) the sync I/O loop does not relinquish the I/O thread mutex, which makes it very different from the outer loop; 2) a nested GMainLoop keeps polling all the file descriptors in the outer loop, which requires you to cope with reentrancy in those monitor commands that flush AIO. Paolo ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-09-27 16:39 ` Paolo Bonzini @ 2011-09-27 21:23 ` Anthony Liguori 2011-09-28 6:27 ` Paolo Bonzini 2011-09-28 9:12 ` Stefan Hajnoczi 0 siblings, 2 replies; 17+ messages in thread From: Anthony Liguori @ 2011-09-27 21:23 UTC (permalink / raw) To: Paolo Bonzini Cc: Kevin Wolf, Jan Kiszka, Stefan Hajnoczi, qemu-devel, Avi Kivity On 09/27/2011 11:39 AM, Paolo Bonzini wrote: > On 09/27/2011 06:05 PM, Anthony Liguori wrote: >> Actually, for posix-aio, we can just switch to using g_idle_add(). >> g_idle_add() uses g_source_attach which is thread safe. g_idle_add() >> gives you a thread safe mechanism to defer a piece of work to the >> main loop which is really what we want here. > > For that, a bottom half would also do (apart that I am not sure it is > async-safe with TCG). In fact, that would make sense since all of > posix_aio_process_queue could become a bottom half. Bottom halves are signal safe, not thread safe. To make bottom halves thread safe, you would (in the very least) have to add some barriers when reading/writing the scheduling flag. I think it's much better to just use GIdle sources though. >> This can actually be made to work with sync I/O emulation too by >> having another GMainLoop in the sync I/O loop although I thought I >> recalled a patch series to remove that stuff. > > ... which stuff? :) The sync I/O emulation. Since sync I/O is done in block drivers, they can just use coroutine I/O instead of sync I/O. > Another GMainLoop in the sync I/O loop is problematic for > two reasons: 1) the sync I/O loop does not relinquish the I/O thread mutex, > which makes it very different from the outer loop; 2) a nested GMainLoop keeps > polling all the file descriptors in the outer loop, which requires you to cope > with reentrancy in those monitor commands that flush AIO. Re: (2), you can use a separate aio GMainContext. The trick is that you need to keep a global current main context that switches when you enter the AIO main loop. It's doable, but since I think we're on the verge of eliminating sync I/O emulation, that's probably a better path to pursue. Regards, Anthony Liguori > > Paolo > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-09-27 21:23 ` Anthony Liguori @ 2011-09-28 6:27 ` Paolo Bonzini 2011-09-28 7:52 ` Jan Kiszka 2011-09-28 9:12 ` Stefan Hajnoczi 1 sibling, 1 reply; 17+ messages in thread From: Paolo Bonzini @ 2011-09-28 6:27 UTC (permalink / raw) To: Anthony Liguori Cc: Kevin Wolf, Jan Kiszka, Avi Kivity, qemu-devel, Stefan Hajnoczi On 09/27/2011 11:23 PM, Anthony Liguori wrote: > On 09/27/2011 11:39 AM, Paolo Bonzini wrote: >> On 09/27/2011 06:05 PM, Anthony Liguori wrote: >>> Actually, for posix-aio, we can just switch to using g_idle_add(). >>> g_idle_add() uses g_source_attach which is thread safe. g_idle_add() >>> gives you a thread safe mechanism to defer a piece of work to the >>> main loop which is really what we want here. >> >> For that, a bottom half would also do (apart that I am not sure it is >> async-safe with TCG). In fact, that would make sense since all of >> posix_aio_process_queue could become a bottom half. > > Bottom halves are signal safe, not thread safe. > > To make bottom halves thread safe, you would (in the very least) have to > add some barriers when reading/writing the scheduling flag. You can probably assume that qemu_notify_event (and dually the read in the main loop) are resp. write/read memory barriers. Or even full. If we switch entirely to GSources, it would be nice to use them. But since we aren't, and our main loop functionality is quite different from glib's (it doesn't rely on abstractions for file descriptors, for example), it is just a painful incomplete transition to use glib's idle sources to do the exact same thing that is done by bottom halves (which are already in our toolbox). Paolo ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-09-28 6:27 ` Paolo Bonzini @ 2011-09-28 7:52 ` Jan Kiszka 2011-09-28 8:00 ` Paolo Bonzini 0 siblings, 1 reply; 17+ messages in thread From: Jan Kiszka @ 2011-09-28 7:52 UTC (permalink / raw) To: Paolo Bonzini Cc: Kevin Wolf, Stefan Hajnoczi, qemu-devel@nongnu.org, Avi Kivity On 2011-09-28 08:27, Paolo Bonzini wrote: > On 09/27/2011 11:23 PM, Anthony Liguori wrote: >> On 09/27/2011 11:39 AM, Paolo Bonzini wrote: >>> On 09/27/2011 06:05 PM, Anthony Liguori wrote: >>>> Actually, for posix-aio, we can just switch to using g_idle_add(). >>>> g_idle_add() uses g_source_attach which is thread safe. g_idle_add() >>>> gives you a thread safe mechanism to defer a piece of work to the >>>> main loop which is really what we want here. >>> >>> For that, a bottom half would also do (apart that I am not sure it is >>> async-safe with TCG). In fact, that would make sense since all of >>> posix_aio_process_queue could become a bottom half. >> >> Bottom halves are signal safe, not thread safe. >> >> To make bottom halves thread safe, you would (in the very least) have to >> add some barriers when reading/writing the scheduling flag. > > You can probably assume that qemu_notify_event (and dually the read in > the main loop) are resp. write/read memory barriers. Or even full. > > If we switch entirely to GSources, it would be nice to use them. But > since we aren't, and our main loop functionality is quite different from > glib's (it doesn't rely on abstractions for file descriptors, for > example), it is just a painful incomplete transition to use glib's idle > sources to do the exact same thing that is done by bottom halves (which > are already in our toolbox). BTW, I just wondered if there is anything conceptually preventing to skip this ping pong between AIO thread and main loop and just run the completion over the former context (under global lock protection of course). Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-09-28 7:52 ` Jan Kiszka @ 2011-09-28 8:00 ` Paolo Bonzini 0 siblings, 0 replies; 17+ messages in thread From: Paolo Bonzini @ 2011-09-28 8:00 UTC (permalink / raw) To: Jan Kiszka; +Cc: Kevin Wolf, Stefan Hajnoczi, qemu-devel@nongnu.org, Avi Kivity On 09/28/2011 09:52 AM, Jan Kiszka wrote: > > You can probably assume that qemu_notify_event (and dually the read in > > the main loop) are resp. write/read memory barriers. Or even full. > > > > If we switch entirely to GSources, it would be nice to use them. But > > since we aren't, and our main loop functionality is quite different from > > glib's (it doesn't rely on abstractions for file descriptors, for > > example), it is just a painful incomplete transition to use glib's idle > > sources to do the exact same thing that is done by bottom halves (which > > are already in our toolbox). > > BTW, I just wondered if there is anything conceptually preventing to > skip this ping pong between AIO thread and main loop and just run the > completion over the former context (under global lock protection of course). Would be a good idea, but it would require some refactoring because tools do not have a global lock. Paolo ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-09-27 21:23 ` Anthony Liguori 2011-09-28 6:27 ` Paolo Bonzini @ 2011-09-28 9:12 ` Stefan Hajnoczi 1 sibling, 0 replies; 17+ messages in thread From: Stefan Hajnoczi @ 2011-09-28 9:12 UTC (permalink / raw) To: Anthony Liguori Cc: Kevin Wolf, Paolo Bonzini, Avi Kivity, qemu-devel, Jan Kiszka On Tue, Sep 27, 2011 at 10:23 PM, Anthony Liguori <anthony@codemonkey.ws> wrote: > On 09/27/2011 11:39 AM, Paolo Bonzini wrote: >> >> On 09/27/2011 06:05 PM, Anthony Liguori wrote: >>> >>> Actually, for posix-aio, we can just switch to using g_idle_add(). >>> g_idle_add() uses g_source_attach which is thread safe. g_idle_add() >>> gives you a thread safe mechanism to defer a piece of work to the >>> main loop which is really what we want here. >> >> For that, a bottom half would also do (apart that I am not sure it is >> async-safe with TCG). In fact, that would make sense since all of >> posix_aio_process_queue could become a bottom half. > > Bottom halves are signal safe, not thread safe. > > To make bottom halves thread safe, you would (in the very least) have to add > some barriers when reading/writing the scheduling flag. I think it's much > better to just use GIdle sources though. > >>> This can actually be made to work with sync I/O emulation too by >>> having another GMainLoop in the sync I/O loop although I thought I >>> recalled a patch series to remove that stuff. >> >> ... which stuff? :) > > The sync I/O emulation. Since sync I/O is done in block drivers, they can > just use coroutine I/O instead of sync I/O. Yes, I think we should covert sync I/O code to use coroutines, which is quite natural. The users of sync I/O today are: 1. Hardware emulation - lesser-used or not performance-critical code paths still use bdrv_read/write() in places, e.g. sd, nand, fdc, ide pio. 2. Block drivers. Some image formats are synchronous, but converting to coroutines is pretty easy. 3. qemu-tools including qemu-img and qemu-io. With Paolo's work to make the event loop available in qemu-tools it should be possible to convert and eliminate synchronous I/O interfaces. Stefan ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-09-27 14:26 [Qemu-devel] [PATCH] event_notifier: move to top-level directory Avi Kivity 2011-09-27 15:17 ` Stefan Hajnoczi @ 2011-11-01 22:18 ` Anthony Liguori 2011-11-02 18:10 ` Alexander Graf 1 sibling, 1 reply; 17+ messages in thread From: Anthony Liguori @ 2011-11-01 22:18 UTC (permalink / raw) To: Avi Kivity; +Cc: qemu-devel On 09/27/2011 09:26 AM, Avi Kivity wrote: > Has no business in hw/. > > Signed-off-by: Avi Kivity<avi@redhat.com> Applied. Thanks. Regards, Anthony Liguori > --- > hw/event_notifier.c => event_notifier.c | 1 - > hw/event_notifier.h => event_notifier.h | 0 > 2 files changed, 0 insertions(+), 1 deletions(-) > rename hw/event_notifier.c => event_notifier.c (98%) > rename hw/event_notifier.h => event_notifier.h (100%) > > diff --git a/hw/event_notifier.c b/event_notifier.c > similarity index 98% > rename from hw/event_notifier.c > rename to event_notifier.c > index 13f3656..2c73555 100644 > --- a/hw/event_notifier.c > +++ b/event_notifier.c > @@ -10,7 +10,6 @@ > * the COPYING file in the top-level directory. > */ > > -#include "hw.h" > #include "event_notifier.h" > #ifdef CONFIG_EVENTFD > #include<sys/eventfd.h> > diff --git a/hw/event_notifier.h b/event_notifier.h > similarity index 100% > rename from hw/event_notifier.h > rename to event_notifier.h ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-11-01 22:18 ` Anthony Liguori @ 2011-11-02 18:10 ` Alexander Graf 2011-11-02 17:12 ` Avi Kivity 0 siblings, 1 reply; 17+ messages in thread From: Alexander Graf @ 2011-11-02 18:10 UTC (permalink / raw) To: Anthony Liguori; +Cc: Avi Kivity, qemu-devel Anthony Liguori wrote: > On 09/27/2011 09:26 AM, Avi Kivity wrote: >> Has no business in hw/. >> >> Signed-off-by: Avi Kivity<avi@redhat.com> > > Applied. Thanks. make: *** No rule to make target `/home/agraf/release/qemu/hw/event_notifier.c', needed by `event_notifier.o'. Stop. make: *** Waiting for unfinished jobs.... Alex ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-11-02 18:10 ` Alexander Graf @ 2011-11-02 17:12 ` Avi Kivity 2011-11-02 17:13 ` Avi Kivity 0 siblings, 1 reply; 17+ messages in thread From: Avi Kivity @ 2011-11-02 17:12 UTC (permalink / raw) To: Alexander Graf; +Cc: qemu-devel On 11/02/2011 08:10 PM, Alexander Graf wrote: > Anthony Liguori wrote: > > On 09/27/2011 09:26 AM, Avi Kivity wrote: > >> Has no business in hw/. > >> > >> Signed-off-by: Avi Kivity<avi@redhat.com> > > > > Applied. Thanks. > > make: *** No rule to make target > `/home/agraf/release/qemu/hw/event_notifier.c', needed by > `event_notifier.o'. Stop. > make: *** Waiting for unfinished jobs.... > > make clean -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-11-02 17:12 ` Avi Kivity @ 2011-11-02 17:13 ` Avi Kivity 2011-11-02 18:23 ` Alexander Graf 0 siblings, 1 reply; 17+ messages in thread From: Avi Kivity @ 2011-11-02 17:13 UTC (permalink / raw) To: Alexander Graf; +Cc: qemu-devel On 11/02/2011 07:12 PM, Avi Kivity wrote: > On 11/02/2011 08:10 PM, Alexander Graf wrote: > > Anthony Liguori wrote: > > > On 09/27/2011 09:26 AM, Avi Kivity wrote: > > >> Has no business in hw/. > > >> > > >> Signed-off-by: Avi Kivity<avi@redhat.com> > > > > > > Applied. Thanks. > > > > make: *** No rule to make target > > `/home/agraf/release/qemu/hw/event_notifier.c', needed by > > `event_notifier.o'. Stop. > > make: *** Waiting for unfinished jobs.... > > > > > > make clean > Plus, remove the tachyons from your system. -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-11-02 17:13 ` Avi Kivity @ 2011-11-02 18:23 ` Alexander Graf 2011-11-02 17:22 ` Avi Kivity 0 siblings, 1 reply; 17+ messages in thread From: Alexander Graf @ 2011-11-02 18:23 UTC (permalink / raw) To: Avi Kivity; +Cc: qemu-devel Avi Kivity wrote: > On 11/02/2011 07:12 PM, Avi Kivity wrote: > >> On 11/02/2011 08:10 PM, Alexander Graf wrote: >> >>> Anthony Liguori wrote: >>> >>>> On 09/27/2011 09:26 AM, Avi Kivity wrote: >>>> >>>>> Has no business in hw/. >>>>> >>>>> Signed-off-by: Avi Kivity<avi@redhat.com> >>>>> >>>> Applied. Thanks. >>>> >>> make: *** No rule to make target >>> `/home/agraf/release/qemu/hw/event_notifier.c', needed by >>> `event_notifier.o'. Stop. >>> make: *** Waiting for unfinished jobs.... >>> >>> >>> >> make clean >> >> > > Plus, remove the tachyons from your system. > Ah, yes. That helped a lot. Damn those tachyons! Alex ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-11-02 18:23 ` Alexander Graf @ 2011-11-02 17:22 ` Avi Kivity 2011-11-02 17:27 ` Alexander Graf 0 siblings, 1 reply; 17+ messages in thread From: Avi Kivity @ 2011-11-02 17:22 UTC (permalink / raw) To: Alexander Graf; +Cc: qemu-devel On 11/02/2011 08:23 PM, Alexander Graf wrote: > > > > Plus, remove the tachyons from your system. > > > > Ah, yes. That helped a lot. Damn those tachyons! They're still there. (I hate explaining a joke, but your system clock is an hour ahead) -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PATCH] event_notifier: move to top-level directory 2011-11-02 17:22 ` Avi Kivity @ 2011-11-02 17:27 ` Alexander Graf 0 siblings, 0 replies; 17+ messages in thread From: Alexander Graf @ 2011-11-02 17:27 UTC (permalink / raw) To: Avi Kivity; +Cc: qemu-devel Avi Kivity wrote: > On 11/02/2011 08:23 PM, Alexander Graf wrote: > >>> Plus, remove the tachyons from your system. >>> >>> >> Ah, yes. That helped a lot. Damn those tachyons! >> > > They're still there. > > (I hate explaining a joke, but your system clock is an hour ahead) > Yeah, next time just don't explain it :). Makes me feel less dumb. Alex ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2011-11-02 17:27 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-09-27 14:26 [Qemu-devel] [PATCH] event_notifier: move to top-level directory Avi Kivity 2011-09-27 15:17 ` Stefan Hajnoczi 2011-09-27 15:28 ` Jan Kiszka 2011-09-27 16:05 ` Anthony Liguori 2011-09-27 16:39 ` Paolo Bonzini 2011-09-27 21:23 ` Anthony Liguori 2011-09-28 6:27 ` Paolo Bonzini 2011-09-28 7:52 ` Jan Kiszka 2011-09-28 8:00 ` Paolo Bonzini 2011-09-28 9:12 ` Stefan Hajnoczi 2011-11-01 22:18 ` Anthony Liguori 2011-11-02 18:10 ` Alexander Graf 2011-11-02 17:12 ` Avi Kivity 2011-11-02 17:13 ` Avi Kivity 2011-11-02 18:23 ` Alexander Graf 2011-11-02 17:22 ` Avi Kivity 2011-11-02 17:27 ` Alexander Graf
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).