i am doing reads and writes to /dev/rdsk/c0t2d0s4

using dtrace to see how much time it took for ssdread and ssdwrite. It shows 
very small number 4 or 5.

#pragma D option flowindent
syscall::pread:entry
{
self->trace = 1;
self->size = arg2;
}
syscall::pwrite:entry
{
self->trace = 1;
self->size = arg2;
}

fbt:ssd:ssdread:entry
/self->trace/
{
self->start = timestamp;
self->minor = getminor(arg0);
}
fbt:ssd:ssdread:return
/self->start/
{
@avrg[pid,probefunc,self->minor,self->size] = avg((timestamp - self->start) / 
1000);
@numbers[pid,probefunc,self->minor,self->size] = count();
self->start = 0;
}
fbt:ssd:ssdwrite:entry
/self->trace/
{
self->start = timestamp;
self->minor = getminor(arg0);
}
fbt:ssd:ssdwrite:return
/self->start/
{
@avrg[pid,probefunc,self->minor,self->size] = avg((timestamp - self->start) / 
1000);
@numbers[pid,probefunc,self->minor,self->size] = count();
self->start = 0;
}
dtrace:::END
{
printa(@avrg);
printa(@numbers);
}

But the reads and writes take a long time actually. Why isnt that reflected in 
the ssdread and ssdwrite times that dtrace shows. Problem with dtrace or this 
provider does not work? I think my dtrace script is correct.

Please anybody?

Thanks
amujoo
-- 
This message posted from opensolaris.org
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to