Re: [Qemu-devel] Functions to intercept Disk IO information?

2015-10-21 Thread Fam Zheng
On Thu, 10/22 14:18, QuQ Edsel wrote:
> Thank you for reply!
> But as I insert a printf message in dma_buf_rw, compile and boot up the VM,
> there are no messages printed even when I open/create/edit a .txt or .jpeg
> file ?
> If dma_buf_rw is called it is supposed to print messages in the monitor...
> On the other hand,
> the dma_blk_io called in ide_dma_ cb did happen when files are
> manipulated

Yes, it was a mistake, I meant dma_blk_io, sorry for confusion. :) dma_buf_rw
only works for some device types, while dma_blk_io works more commonly.

> Would it be point to determine Disk IO and to intercept the information I
> need?
> Sorry I really lack knowledge in this field...
> Does the PIO you mentioned means NIC IO?

PIO is port I/O which doesn't use DMA.

Fam

> 
> Edsel
> 
> 2015-10-22 9:22 GMT+08:00 Fam Zheng :
> 
> > On Thu, 10/22 01:13, QuQ Edsel wrote:
> > > Hi,
> > > My friends and I were assigned a task to find out a point to insert a
> > > callback function to intercept Disk IO activities such as read/write a
> > .txt
> > > file. Our final goal is to generate a report for target process/file 's
> > > Disk IO activities. We have QEMU 2.3 with KVM enabled. We have been
> > looking
> > > for such a point for long...but not so capable of such a task.
> > > People who had this project last year done so with TEMU 1.0 (probably
> > QEMU
> > > 0.9), and the implementation point they had is dma_buf_rw(). The
> > > information in their report shows pid, timestamps, disk sector, buffer
> > size
> > > and write/read for a target file (I am not even sure if such information
> > is
> > > meaningful or useful)
> > > Currently I have tried to printf in functions such as dma_buf_rw /
> > > dma_blk_io / bdrv_aio_readv...etc. to see if they print out message when
> > I
> > > open/edit/save a .txt or .jpeg file. The first one just don't print at
> > all,
> > > and the second and third one print a lot after booting up the guest
> > > I can see that the dma_blk_io function call in ide_dma_cb (core.c) may be
> > > related because it prints as I have activities on files. However it also
> > > prints sometime when I am not doing any thing... so I not that certain
> > > about it. (and I don't know if write/read activities invoke such
> > > function..)
> >
> > Yes, dma_buf_rw should handle all your I/O unless you're doing PIO. I
> > think the
> > other activities you see when you're not doing anything is from guest
> > system's
> > background tasks.
> >
> > Thanks,
> > Fam
> >
> > >
> > > Is there a correct /better point to intercept disk IO information
> > > ?(especially for activities such as read/write a .file)
> > > Or what should I do to clearly get the needed information from Disk IO
> > > functions?
> > > I would be so grateful to have the information.
> > > Thank you.
> > >
> > > The guest environment I have is 64bit Windows 7 with qcow2 image (not
> > sure
> > > if relative)
> > >
> >



Re: [Qemu-devel] Functions to intercept Disk IO information?

2015-10-21 Thread QuQ Edsel
Thank you for reply!
But as I insert a printf message in dma_buf_rw, compile and boot up the VM,
there are no messages printed even when I open/create/edit a .txt or .jpeg
file ?
If dma_buf_rw is called it is supposed to print messages in the monitor...
On the other hand,
the dma_blk_io called in ide_dma_ cb did happen when files are
manipulated
Would it be point to determine Disk IO and to intercept the information I
need?
Sorry I really lack knowledge in this field...
Does the PIO you mentioned means NIC IO?

Edsel

2015-10-22 9:22 GMT+08:00 Fam Zheng :

> On Thu, 10/22 01:13, QuQ Edsel wrote:
> > Hi,
> > My friends and I were assigned a task to find out a point to insert a
> > callback function to intercept Disk IO activities such as read/write a
> .txt
> > file. Our final goal is to generate a report for target process/file 's
> > Disk IO activities. We have QEMU 2.3 with KVM enabled. We have been
> looking
> > for such a point for long...but not so capable of such a task.
> > People who had this project last year done so with TEMU 1.0 (probably
> QEMU
> > 0.9), and the implementation point they had is dma_buf_rw(). The
> > information in their report shows pid, timestamps, disk sector, buffer
> size
> > and write/read for a target file (I am not even sure if such information
> is
> > meaningful or useful)
> > Currently I have tried to printf in functions such as dma_buf_rw /
> > dma_blk_io / bdrv_aio_readv...etc. to see if they print out message when
> I
> > open/edit/save a .txt or .jpeg file. The first one just don't print at
> all,
> > and the second and third one print a lot after booting up the guest
> > I can see that the dma_blk_io function call in ide_dma_cb (core.c) may be
> > related because it prints as I have activities on files. However it also
> > prints sometime when I am not doing any thing... so I not that certain
> > about it. (and I don't know if write/read activities invoke such
> > function..)
>
> Yes, dma_buf_rw should handle all your I/O unless you're doing PIO. I
> think the
> other activities you see when you're not doing anything is from guest
> system's
> background tasks.
>
> Thanks,
> Fam
>
> >
> > Is there a correct /better point to intercept disk IO information
> > ?(especially for activities such as read/write a .file)
> > Or what should I do to clearly get the needed information from Disk IO
> > functions?
> > I would be so grateful to have the information.
> > Thank you.
> >
> > The guest environment I have is 64bit Windows 7 with qcow2 image (not
> sure
> > if relative)
> >
>


Re: [Qemu-devel] Functions to intercept Disk IO information?

2015-10-21 Thread Fam Zheng
On Thu, 10/22 01:13, QuQ Edsel wrote:
> Hi,
> My friends and I were assigned a task to find out a point to insert a
> callback function to intercept Disk IO activities such as read/write a .txt
> file. Our final goal is to generate a report for target process/file 's
> Disk IO activities. We have QEMU 2.3 with KVM enabled. We have been looking
> for such a point for long...but not so capable of such a task.
> People who had this project last year done so with TEMU 1.0 (probably QEMU
> 0.9), and the implementation point they had is dma_buf_rw(). The
> information in their report shows pid, timestamps, disk sector, buffer size
> and write/read for a target file (I am not even sure if such information is
> meaningful or useful)
> Currently I have tried to printf in functions such as dma_buf_rw /
> dma_blk_io / bdrv_aio_readv...etc. to see if they print out message when I
> open/edit/save a .txt or .jpeg file. The first one just don't print at all,
> and the second and third one print a lot after booting up the guest
> I can see that the dma_blk_io function call in ide_dma_cb (core.c) may be
> related because it prints as I have activities on files. However it also
> prints sometime when I am not doing any thing... so I not that certain
> about it. (and I don't know if write/read activities invoke such
> function..)

Yes, dma_buf_rw should handle all your I/O unless you're doing PIO. I think the
other activities you see when you're not doing anything is from guest system's
background tasks.

Thanks,
Fam

> 
> Is there a correct /better point to intercept disk IO information
> ?(especially for activities such as read/write a .file)
> Or what should I do to clearly get the needed information from Disk IO
> functions?
> I would be so grateful to have the information.
> Thank you.
> 
> The guest environment I have is 64bit Windows 7 with qcow2 image (not sure
> if relative)
> 



[Qemu-devel] Functions to intercept Disk IO information?

2015-10-21 Thread QuQ Edsel
Hi,
My friends and I were assigned a task to find out a point to insert a
callback function to intercept Disk IO activities such as read/write a .txt
file. Our final goal is to generate a report for target process/file 's
Disk IO activities. We have QEMU 2.3 with KVM enabled. We have been looking
for such a point for long...but not so capable of such a task.
People who had this project last year done so with TEMU 1.0 (probably QEMU
0.9), and the implementation point they had is dma_buf_rw(). The
information in their report shows pid, timestamps, disk sector, buffer size
and write/read for a target file (I am not even sure if such information is
meaningful or useful)
Currently I have tried to printf in functions such as dma_buf_rw /
dma_blk_io / bdrv_aio_readv...etc. to see if they print out message when I
open/edit/save a .txt or .jpeg file. The first one just don't print at all,
and the second and third one print a lot after booting up the guest
I can see that the dma_blk_io function call in ide_dma_cb (core.c) may be
related because it prints as I have activities on files. However it also
prints sometime when I am not doing any thing... so I not that certain
about it. (and I don't know if write/read activities invoke such
function..)

Is there a correct /better point to intercept disk IO information
?(especially for activities such as read/write a .file)
Or what should I do to clearly get the needed information from Disk IO
functions?
I would be so grateful to have the information.
Thank you.

The guest environment I have is 64bit Windows 7 with qcow2 image (not sure
if relative)

Edsel