qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] question about concurrent block job


From: Zhangleiqiang
Subject: Re: [Qemu-devel] question about concurrent block job
Date: Thu, 25 Apr 2013 01:59:23 +0000

Hi, Stefan:
        May be the "in_use" flag of "bs" at the "drive" unit is too large. 
Perhaps the "in_use" flag should just lock at the unit of one or some 
"image(s)" in the image chain, the "image(s)" needed to be locked are always 
the ones will be write during the job.

        E.g. "drive_mirror" lock the "snapshot-file", "block-commit" lock the 
dst image of the commit job, etc.


----------
Leiqzhang

Best Regards


> -----Original Message-----
> From: Zhangleiqiang
> Sent: Thursday, April 25, 2013 9:27 AM
> To: Stefan Hajnoczi
> Cc: Paolo Bonzini; address@hidden; Zhangleiqiang
> Subject: RE: [Qemu-devel] question about concurrent block job
> 
> Hi, Stefan:
>       Thanks for your relay.
> 
>       There are some jobs like drive-mirror, can keep running continuously
> (without --finish/--pivort option ). While the mirroring, we may need to run
> other block jobs, e.g. running block-commit or block-stream to decrease the
> length of the image chain so that the vm's perf can be improved.
>       Although I am also agree that it will require a lot of care, the 
> ability for
> enabling multiple jobs at the same time does make sence under some scenario.
> 
> 
> > -----Original Message-----
> > From: Stefan Hajnoczi [mailto:address@hidden
> > Sent: Wednesday, April 24, 2013 9:55 PM
> > To: Zhangleiqiang
> > Cc: Paolo Bonzini; address@hidden
> > Subject: Re: [Qemu-devel] question about concurrent block job
> >
> > On Wed, Apr 24, 2013 at 12:28 PM, Zhangleiqiang
> > <address@hidden> wrote:
> > >         I found qemu does not support concurrently running multiple
> block
> > jobs of the same drive (limited by the bs->in_use field).  But there are 
> > indeed
> > some type of block job can run concurrently, such as running block stream 
> > job
> > while running drive mirror, etc.  Am I right ? Is it necessary to introduce 
> > the
> > concurrency mechanism in qemu ?
> >
> > stream and mirror both switch to the destination image file when they
> > complete.  I'm not sure it makes sense to run both at the same time.
> > Some of the block jobs can interfere with each other, so it's simplest
> > to only allow one.
> 
> > Enabling multiple jobs at the same time will require a lot of care,
> > including extending the HMP/QMP APIs to deal with multiple jobs.
> > bs->job is a scalar field at the moment.
> >
> > Stefan
> 
> 
> ----------
> Leiqzhang
> 
> Best Regards



reply via email to

[Prev in Thread] Current Thread [Next in Thread]