Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Apr 2006 11:24:34 -0300
From:      "Thiago Damas" <tdamas@gmail.com>
To:        vd@freebsd.org
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: odd behavior with geom - gmirror - read/write simultaneously
Message-ID:  <f8e3d83f0604060724h716afe61s372838a9b5589a3e@mail.gmail.com>
In-Reply-To: <20060406061633.GA79708@qlovarnika.bg.datamax>
References:  <f8e3d83f0604051109s774f7e1cr90601e78e9a77d15@mail.gmail.com> <20060406061633.GA79708@qlovarnika.bg.datamax>

next in thread | previous in thread | raw e-mail | index | archive | help
  Hi,
  same problem:
* in shell(1):
# dd if=3D/dev/zero of=3D/var/tmp/test bs=3D4m
* after some time (=3D~ 20seconds), in shell(2)
# dd if=3D/var/tmp/test bs=3D4m of=3D/dev/null

  gstat shows no writes again, only reads; hitting ^C in shell(1), it
hangs until the dd in shell(2) finishes.

  Using diferents files (after rebooting the machine to prevent some cache)=
:


In:
  same problem:
* in shell(1):
# dd if=3D/dev/zero of=3D/var/tmp/test bs=3D4m
* after some time (=3D~ 20seconds), in shell(2)
# dd if=3D/var/tmp/test bs=3D4m of=3D/dev/null

  gstat shows no writes again, only reads; hitting ^C in shell(1), it
hangs until the dd in shell(2) finishes.

  Using diferents files (after rebooting the machine to prevent some
cache), I found the inverse situation:
* in shell(1):
# dd if=3D/dev/zero of=3D/var/tmp/test2 bs=3D4m
* in shell(2):
# dd if=3D/var/tmp/test of=3D/dev/null bs=3D4m

  gstat shows the following:
# gstat
dT: 0.501  flag_I 500000us  sizeof 240  i -1
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
   11    357      0      0    0.0    357  45737   14.2   99.7| ad0
   11    357      0      0    0.0    357  45737   14.3   99.7| ad0s1
    0      0      0      0    0.0      0      0    0.0    0.0| ad2
    0      0      0      0    0.0      0      0    0.0    0.0| ad3
    0      0      0      0    0.0      0      0    0.0    0.0| ad0s1a
    0      0      0      0    0.0      0      0    0.0    0.0| ad0s1b
    0      0      0      0    0.0      0      0    0.0    0.0| ad0s1c
    0      0      0      0    0.0      0      0    0.0    0.0| ad0s1d
    0      0      0      0    0.0      0      0    0.0    0.0| ad0s1e
   11    357      0      0    0.0    357  45737   15.1   99.7| ad0s1f
    0      0      0      0    0.0      0      0    0.0    0.0| ad2s1
    0      0      0      0    0.0      0      0    0.0    0.0| mirror/home0
    0      0      0      0    0.0      0      0    0.0    0.0| ad3s1
    0      0      0      0    0.0      0      0    0.0    0.0| mirror/home0=
s1
    0      0      0      0    0.0      0      0    0.0    0.0| mirror/home0=
s1c

Hitting ^C in shell(2), it hangs until I cancel the dd of shell(1),
and shows the following:
# dd if=3D/var/tmp/test of=3D/dev/null bs=3D4m
^C0+0 records in
0+0 records out
0 bytes transferred in 23.318283 secs (0 bytes/sec)

In:
> When I try your test on my mirror gstat shows read and write activity,
> but the reading dd quits very soon, because reading appears to be faster
> than writing.
  try waiting a little more before execute the dd command.


  After those tests, the problem isnt relationated with GEOM, I think.
  What can I do now?


>
> Did you try the parallel dd commands on another partition which is not
> gmirror'd? For example:
>
> dd if=3D/dev/ad0 of=3D/var/tmp/test.data bs=3D4m
> dd if=3D/var/tmp/test.data bs=3D4m of=3D/dev/null
>
> So you can be sure that it is a gmirror issue.
>
> When I try your test on my mirror gstat shows read and write activity,
> but the reading dd quits very soon, because reading appears to be faster
> than writing.
>
> I would suggest that you write to one file and read from another file
> when you do the parallel test.
>
> Just a hint: for the write test you should better use /dev/zero instead
> of /dev/ad0 - ``dd if=3D/dev/zero of=3D/home/test.data bs=3D4m'' for obvi=
ous
> reasons.
>
> --
> Vasil Dimov
> gro.DSBeerF@dv
>
> Testing can show the presence of bugs, but not their absence.
>                 -- Edsger W. Dijkstra



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f8e3d83f0604060724h716afe61s372838a9b5589a3e>