-new.so blkrbd-old.so (hopefully
with more useful names), for those with an allergy to weak binding.
--
Alex Bligh
and having
different types of module at all? If they are
all built together, why can't they all live
together in the same directory?
Seems like an overcomplication.
--
Alex Bligh
would never attempt to load (e.g.) the spice module.
--
Alex Bligh
with CONFIG_PREFIX
having versioning inside it (in a distro environment)?
Can I suggest that at the very least, it should be possible to specify
an alternate path to the module directory via the CLI?
--
Alex Bligh
about the utility of the subdirectories above, as
opposed to filename prefixes.
+1
--
Alex Bligh
the symbols change on (literally)
every rebuild. Else every dev will build with modules turned
off!
--
Alex Bligh
is do not attempt to
migrate 50 busy VMs through a single 1GB/s NIC.
--
Alex Bligh
Paolo,
--On 4 September 2013 19:07:53 +0200 Paolo Bonzini pbonz...@redhat.com
wrote:
Il 04/09/2013 17:24, Alex Bligh ha scritto:
We have seen a situation when migrating about 50 VMs at once where some
of them fail. I think this is because they are dirtying pages faster than
they can
--On 4 September 2013 19:05:50 +0100 Alex Bligh a...@alex.org.uk wrote:
We appear to be getting something other than 'ms' returned through the
monitoring system. Unhelpfully what that is is not logged.
By which I mean 'we seem to be getting status: failed on the send side'
--
Alex Bligh
) but IIRC that fails much earlier.
To make things easier (cough), this is qemu 1.0 (as shipped with Ubuntu
Precise).
--
Alex Bligh
in the above :-)
Other two fixed too.
--
Alex Bligh
, there may be parameters which are not possible
to specify through the qemu-img convert command line.
Reviewed-by: Eric Blake ebl...@redhat.com
Signed-off-by: Alexandre Derumier aderum...@odiso.com
Signed-off-by: Alex Bligh a...@alex.org.uk
---
Changes since v6:
* Check for outut file too short using
copyright would be 2013.
But removing Redhat's (c) or altering it did not seem right.
I'm really not bothered about having my own string in there
particularly for such a meagre bit of code, but I suppose most
accurate would be:
(c) 2009 Red Hat, Inc.
(c) 2013 Alex Bligh
?
- --
Alex Bligh
--On 30 August 2013 12:55:29 -0600 Eric Blake ebl...@redhat.com wrote:
Yes, that looks like the best approach.
Thanks - done in v6 and added your reviewed-by line
--
Alex Bligh
, there may be parameters which are not possible
to specify through the qemu-img convert command line.
Reviewed-by: Eric Blake ebl...@redhat.com
Signed-off-by: Alexandre Derumier aderum...@odiso.com
Signed-off-by: Alex Bligh a...@alex.org.uk
---
Changes since v5:
* Change order of case statement for -n
. I'll take a look. A simple fix might
be to only run the test on Linux for the time being.
--
Alex Bligh
tests/test-aio.c used pipe2 which is Linux only. Use qemu_pipe
and qemu_set_nonblock for portabillity. Addition of O_CLOEXEC
is a harmless bonus.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
tests/test-aio.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git
sleep() apparently doesn't exist under mingw. Use g_usleep for
portability.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
tests/test-aio.c |6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/test-aio.c b/tests/test-aio.c
index 4215701..110fa4a 100644
--- a/tests
sleep() apparently doesn't exist under mingw. Use g_usleep for
portability.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
tests/test-aio.c |6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/test-aio.c b/tests/test-aio.c
index 4215701..c4fe0fc 100644
--- a/tests
a conversion and 1 second.
But I've fixed the blank and sent that as v2. I suspect checkpatch
is confused about * meaning a pointer dereference.
--
Alex Bligh
marks the alarm timer as expired/pending
and notifies the main loop using qemu_notify_event().
Therefore these outdated comments about signal safety can be dropped.
Signed-off-by: Stefan Hajnoczi stefa...@redhat.com
Signed-off-by: Alex Bligh a...@alex.org.uk
Ooops - meant to delete
) */
ts-cb(ts-opaque);
--
1.8.3.1
--
Alex Bligh
QEMU_CLOCK_VIRTUAL is used at all in other other threads.
--
Alex Bligh
On 27 Aug 2013, at 04:21, Liu Ping Fan wrote:
+void qemu_event_set(QemuEvent *ev)
+{
It would be useful if these functions had inline
documentation.
--
Alex Bligh
timerlist_run_timers(QEMUTimerList *timer_list)
ts-cb(ts-opaque);
progress = true;
}
+qemu_event_set(timer_list-ev);
return progress;
}
--
1.8.1.4
--
Alex Bligh
synchronisation with the eventual deletion under the BQL on the
main thread.
--
Alex Bligh
, there may be parameters which are not possible
to specify through the qemu-img convert command line.
Signed-off-by: Alexandre Derumier aderum...@odiso.com
Signed-off-by: Alex Bligh a...@alex.org.uk
---
qemu-img-cmds.hx |4 +-
qemu-img.c | 49 ++---
qemu
Add a qemu-img convert -n option to skip target volume creation
Changes since v5:
* Fail conversion if the existing output image is smaller than the
input image and the -n option is specified
* Use -n not -C
* Add a test routine
Alexandre Derumier (1):
add qemu-img convert -n option (skip
(obviously
I'm fighting a losing battle there).
--
Alex Bligh
I did a blog post on the aio-timers changes I made to the timer system,
including a diagram of how it works now:
http://blog.alex.org.uk/2013/08/24/changes-to-qemus-timer-system/
Comments welcome.
--
Alex Bligh
--On 23 August 2013 09:48:42 +0200 Paolo Bonzini pbonz...@redhat.com
wrote:
As a matter of fact, 2^28 madvise system calls will take much, much
longer than 100ms.
Probably a stupid question, but why would you need to do one call per
page? It takes a 'size_t length' parameter.
--
Alex
there are a number
of people who have been using the patch with -C for some time.
--
Alex Bligh
Remove dummy_io_handler_flush from tests/test-aio.c as it does
nothing now.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
tests/test-aio.c |9 ++---
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/tests/test-aio.c b/tests/test-aio.c
index 3ad2294..07a1f61 100644
easy (the expand
option presumably being a call to bdrv_truncate).
Before we get to testing, I'm guessing we should establish
whether (a) is correct (I think yes), and what the correct
behaviour is for (b).
--
Alex Bligh
...
I think this is undesirable as the result of opening without O_DIRECT
when you really wanted O_DIRECT could be subtle data corruption due
to unexpected caching. Is an error not more appropriate here than
proceeding regardless?
--
Alex Bligh
be the first flag that is consistent I think!
--
Alex Bligh
in macros, you might as well change that
1000 as well, and hopefully comment why that particular magic value
is there.
+Slirp *slirp;
+uint32_t t;
+
+*timeout = MIN(1000, *timeout);
+if (*timeout = TIMEOUT_FAST) {
+return;
+}
+t = *timeout;
--
Alex Bligh
to
millisecond granularity to libqblock.
... and there is qemu_timeout_ns_to_ms for this purpose which does
the rounding right.
--
Alex Bligh
values - it's not our job to
calculate the minimum, glib will do that after calling all .prepare()
functions.
I would drop this hunk.
OK I will put that into v13.
Anything else for v13 or are you ready to merge? I will rebase (again)
on block-next obviously.
--
Alex Bligh
Rename four functions in preparation for new API.
Rename qemu_timer_expired to timer_expired
Rename qemu_timer_expire_time_ns to timer_expire_time_ns
Rename qemu_timer_pending to timer_pending
Rename qemu_timer_expired_ns to timer_expired_ns
Signed-off-by: Alex Bligh a...@alex.org.uk
Rename qemu_new_clock to qemu_clock_new.
Expose clock types.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h |4
qemu-timer.c | 12
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/include/qemu/timer.h b/include/qemu/timer.h
Make qemu_run_timers and qemu_run_all_timers return progress
so that aio_poll etc. can determine whether a timer has been
run.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 21 +++--
qemu-timer.c | 18 --
2 files changed, 31
Make treatment of disabled clocks consistent in deadline calculation
Signed-off-by: Alex Bligh a...@alex.org.uk
---
qemu-timer.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qemu-timer.c b/qemu-timer.c
index df8f12b..be29adf 100644
--- a/qemu-timer.c
+++ b/qemu-timer.c
Add QEMUTimerListGroup and helper functions, to represent
a QEMUTimerList associated with each clock. Add a default
QEMUTimerListGroup representing the default timer lists
which are not associated with any other object (e.g.
an AioContext as added by future patches).
Signed-off-by: Alex Bligh
Add qemu_poll_ns which works like g_poll but takes a nanosecond
timeout.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
configure| 19 +++
include/qemu/timer.h | 12
qemu-timer.c | 24
3 files changed, 55 insertions
Where supported, called prctl(PR_SET_TIMERSLACK, 1, ...) to
set one nanosecond timer slack to increase precision of timer
calls.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
configure| 18 ++
qemu-timer.c |7 +++
2 files changed, 25 insertions(+)
diff --git
* to QEMUClock
* Split up conversion to use ppoll and timers
* Indentation fix
* Fix aio_win32.c aio_poll to return progress
* aio_notify / qemu_notify when timers are modified
* change comment in deprecation of clock options
Alex Bligh (31):
aio / timers: Rename qemu_timer_* functions
aio / timers
Add a QEMUTimerListGroup each AioContext (meaning a QEMUTimerList
associated with each clock is added) and delete it when the
AioContext is freed.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
async.c |2 ++
include/block/aio.h |4
tests/test-aio.c
Add aio_timer_init and aio_timer_new wrapper functions.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/block/aio.h | 43 +++
1 file changed, 43 insertions(+)
diff --git a/include/block/aio.h b/include/block/aio.h
index 06f3aad..2efdf41 100644
Add utility functions qemu_clock_get_ms and qemu_clock_get_us
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 28
1 file changed, 28 insertions(+)
diff --git a/include/qemu/timer.h b/include/qemu/timer.h
index 3e9506c..63b964f 100644
Add a test harness for AioContext timers. The g_source equivalent is
unsatisfactory as it suffers from false wakeups.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
tests/test-aio.c | 134 ++
1 file changed, 134 insertions(+)
diff --git
for when ppoll is not used.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 42 ++
qemu-timer.c | 50 ++
2 files changed, 92 insertions(+)
diff --git a/include/qemu/timer.h b
and always set an icount clock expiry
about 2 seconds ahead.
NB: thread safety - when different timerlists sit on different
threads, this will need some locking.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
cpus.c | 46 +-
include/qemu
Convert block_job_sleep_ns and co_sleep_ns to use the new timer
API.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
block/backup.c|4 ++--
block/commit.c|2 +-
block/mirror.c|4 ++--
block/stream.c|2 +-
blockjob.c
Introduce new API for creating timers - timer_new and
_ns, _ms, _us derivatives.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 69 ++
1 file changed, 69 insertions(+)
diff --git a/include/qemu/timer.h b/include/qemu
in the next
patch.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 348 ++
qemu-timer.c | 207 ++
2 files changed, 476 insertions(+), 79 deletions(-)
diff --git a/include/qemu/timer.h b
Add scripts/switch-timer-api to programatically rewrite source
files to use the new timer system.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
scripts/switch-timer-api | 178 ++
1 file changed, 178 insertions(+)
diff --git a/scripts/switch-timer
Remove the legacy interface from include/qemu/timers.h.
Ensure struct QEMUClock is not exposed at all.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 214 +-
qemu-timer.c | 35 +
2 files changed, 5
Convert rtc_clock to be a QEMUClockType
Move rtc_clock users to use the new API
Signed-off-by: Alex Bligh a...@alex.org.uk
---
hw/arm/omap1.c|4 ++--
hw/arm/pxa2xx.c | 35 +++
hw/arm/strongarm.c| 10 +-
hw/timer
Rearrange timer.h so it is in order by function type.
Make legacy functions call non-legacy functions rather than vice-versa.
Convert cpus.c to use new API.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
cpus.c | 112 -
hw/acpi/piix4.c |2 +-
hw/input/tsc2005.c
where an
assert was backwards.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
aio-posix.c | 18 --
aio-win32.c | 20 ++--
2 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/aio-posix.c b/aio-posix.c
index 2440eb9..bd06f33 100644
--- a/aio-posix.c
Remove alarm timers from qemu-timers.c now we use g_poll / ppoll
instead.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h |3 -
main-loop.c |4 -
qemu-timer.c | 500 +-
vl.c |4 +-
4
Convert mainloop to use timeout from default timerlist group
(i.e. the current 3 static timers)
main-loop.c produces a (possibly spurious) warning about
multiple iterations. Adapt the way this works for a signed
timeout and make the warning a bit safer.
Signed-off-by: Alex Bligh a...@alex.org.uk
Calculate the timeout in aio_ctx_prepare taking into account
the timers attached to the AioContext.
Alter aio_ctx_check similarly.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
async.c | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/async.c b/async.c
index
Now we have timerlistgroups implemented and main_loop_tlg, we
no longer need the concept of a default timer list associated
with each clock. Remove it and simplify initialisation of
clocks and timer lists.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h |6 +
qemu
On qemu_mod_timer_ns, ensure qemu_notify or aio_notify is called to
end the appropriate poll(), irrespective of use_icount value.
On qemu_clock_enable, ensure qemu_notify or aio_notify is called for
all QEMUTimerLists attached to the QEMUClock.
Signed-off-by: Alex Bligh a...@alex.org.uk
Add a notify pointer to QEMUTimerList so it knows what to notify
on a timer change.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
async.c |7 ++-
include/qemu/timer.h | 27 +++
qemu-timer.c | 31 ---
3 files
Remove qemu_clock_deadline and qemu_timerlist_deadline now we are using
the ns functions throughout.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 16
qemu-timer.c | 20
2 files changed, 36 deletions(-)
diff --git
include/qemu/timer.h has no need to include main-loop.h and
doing so causes an issue for the next patch. Unfortunately
various files assume including timers.h will pull in main-loop.h.
Untangle this mess.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
dma-helpers.c |1 +
hw/dma
Add documentation for existing qemu timer calls. Add new format
calls of the format timer_XXX rather than qemu_XXX_timer
for consistency.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 206 --
1 file changed, 184 insertions
/gmain.c
--
Alex Bligh
are
sequential.
--
Alex Bligh
(only reducing the timeout).
--
Alex Bligh
On 20 Aug 2013, at 12:19, Wenchao Xia wrote:
So it is an undefined value, should avoid use it?
It's not an undefined value. It's the value that the poll should
wait for subject to modification by the prepare call.
--
Alex Bligh
part. I suspect it's only a minor
modification to support it.
--
Alex Bligh
On 20 Aug 2013, at 14:37, Paolo Bonzini wrote:
Yes, because vmdk does not implement bdrv_write_compressed. Sorry for
leaving out the small detail. :(
Would that be easy for me to fix?
--
Alex Bligh
but need
not be modelled on block I/O. This could remain modelled on the
glib interface (as AioContext is) if we want.
--
Alex Bligh
://github.com/imcleod/VMDK-stream-converter
which is some Python from Ian McLeod imcl...@redhat.com
Life would be easier if qemu-img supported this directly.
It does not look fantastically difficult.
--
Alex Bligh
with qemu in Q1 this year indicates that it is not
possible to use qemu-img convert to produce anything that will upload.
I went as far as hexdump at the time. I believe I tried compat6
and the various subformat options.
I believe we /read/ this format fine.
--
Alex Bligh
value first, and would speed things up
if write locking was slow.
--
Alex Bligh
of stdout/stderr save
this error), and you will see the main-loop warning
appears even before the first of my patches is applied.
--
Alex Bligh
Thu Aug 15 20:21:08 BST 2013: CHECKOUT 68a5d29
Thu Aug 15 20:21:08 BST 2013: CHECKED OUT
68a5d2930b246b2f7a3d2a65a6f89d15d673cda9
Thu Aug 15 20:21:08
Where supported, called prctl(PR_SET_TIMERSLACK, 1, ...) to
set one nanosecond timer slack to increase precision of timer
calls.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
configure| 18 ++
qemu-timer.c |7 +++
2 files changed, 25 insertions(+)
diff --git
of clock options
Alex Bligh (31):
aio / timers: Rename qemu_timer_* functions
aio / timers: Rename qemu_new_clock and expose clock types
aio / timers: add qemu-timer.c utility functions
aio / timers: Consistent treatment of disabled clocks for deadlines
aio / timers: add ppoll support
for when ppoll is not used.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 42 ++
qemu-timer.c | 50 ++
2 files changed, 92 insertions(+)
diff --git a/include/qemu/timer.h b
Add a notify pointer to QEMUTimerList so it knows what to notify
on a timer change.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
async.c |7 ++-
include/qemu/timer.h | 27 +++
qemu-timer.c | 31 ---
3 files
Make qemu_run_timers and qemu_run_all_timers return progress
so that aio_poll etc. can determine whether a timer has been
run.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 21 +++--
qemu-timer.c | 18 --
2 files changed, 31
Rename four functions in preparation for new API.
Rename qemu_timer_expired to timer_expired
Rename qemu_timer_expire_time_ns to timer_expire_time_ns
Rename qemu_timer_pending to timer_pending
Rename qemu_timer_expired_ns to timer_expired_ns
Signed-off-by: Alex Bligh a...@alex.org.uk
Now we have timerlistgroups implemented and main_loop_tlg, we
no longer need the concept of a default timer list associated
with each clock. Remove it and simplify initialisation of
clocks and timer lists.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h |6 +
qemu
Rename qemu_new_clock to qemu_clock_new.
Expose clock types.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h |4
qemu-timer.c | 12
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/include/qemu/timer.h b/include/qemu/timer.h
Add aio_timer_init and aio_timer_new wrapper functions.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/block/aio.h | 43 +++
1 file changed, 43 insertions(+)
diff --git a/include/block/aio.h b/include/block/aio.h
index 06f3aad..2efdf41 100644
Introduce new API for creating timers - timer_new and
_ns, _ms, _us derivatives.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 69 ++
1 file changed, 69 insertions(+)
diff --git a/include/qemu/timer.h b/include/qemu
Add QEMUTimerListGroup and helper functions, to represent
a QEMUTimerList associated with each clock. Add a default
QEMUTimerListGroup representing the default timer lists
which are not associated with any other object (e.g.
an AioContext as added by future patches).
Signed-off-by: Alex Bligh
Convert mainloop to use timeout from default timerlist group
(i.e. the current 3 static timers)
Signed-off-by: Alex Bligh a...@alex.org.uk
---
main-loop.c | 45 ++---
1 file changed, 34 insertions(+), 11 deletions(-)
diff --git a/main-loop.c b/main
about
multiple iterations. Adapt the way this works for a signed
timeout and make the warning a bit safer.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h |9 +
main-loop.c |6 +++---
qemu-timer.c | 13 ++---
3 files changed, 22
Calculate the timeout in aio_ctx_prepare taking into account
the timers attached to the AioContext.
Alter aio_ctx_check similarly.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
async.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/async.c b/async.c
index
Add a QEMUTimerListGroup each AioContext (meaning a QEMUTimerList
associated with each clock is added) and delete it when the
AioContext is freed.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
async.c |2 ++
include/block/aio.h |4
tests/test-aio.c
where an
assert was backwards.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
aio-posix.c | 18 --
aio-win32.c | 20 ++--
2 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/aio-posix.c b/aio-posix.c
index 2440eb9..bd06f33 100644
--- a/aio-posix.c
Add documentation for existing qemu timer calls. Add new format
calls of the format timer_XXX rather than qemu_XXX_timer
for consistency.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 206 --
1 file changed, 184 insertions
Remove qemu_clock_deadline and qemu_timerlist_deadline now we are using
the ns functions throughout.
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 16
qemu-timer.c | 20
2 files changed, 36 deletions(-)
diff --git
Add utility functions qemu_clock_get_ms and qemu_clock_get_us
Signed-off-by: Alex Bligh a...@alex.org.uk
---
include/qemu/timer.h | 28
1 file changed, 28 insertions(+)
diff --git a/include/qemu/timer.h b/include/qemu/timer.h
index 3e9506c..63b964f 100644
401 - 500 of 933 matches
Mail list logo