Long «Suspend time» when reading large files from gjournal partions.

Eugene V. Boontseff eugene at home.wdc.spb.ru
Mon Mar 28 08:10:16 UTC 2011


Hello, freebsd-geom.


On FreeBSD 8.2-RELEASE long periods of «Suspend time» have been detected 
- tens of seconds - while reading large files from gjournal partition:
For example:

root at mail [/var/tmp]# du -h /var/tmp/access.log

8.3G /var/tmp/access.log

root at mail[/var/tmp]# dd if=/var/tmp/access.log of=/dev/null

17417604 +1 records in

17417604 +1 records out

8917813440 bytes transferred in 50.760701 secs (175,683,418 bytes/sec)


root at mail[/var/tmp] # grep \/var/var/log/messages
...
Mar 27 14:48:08 mail kernel: GEOM_JOURNAL [1]: Suspend time of /var: 
0.018053s

Mar 27 14:48:18 mail kernel: GEOM_JOURNAL [1]: Msync time of /var: 
0.020182s

Mar 27 14:49:03 mail kernel: GEOM_JOURNAL [1]: Sync time of /var: 0.022150s

Mar 27 14:49:03 mail kernel: GEOM_JOURNAL [1]: Suspend time of /var: 
45.187463s

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 27 14:49:13 mail kernel: GEOM_JOURNAL [1]: Msync time of /var: 
0.014821s

Mar 27 14:49:13 mail kernel: GEOM_JOURNAL [1]: Sync time of /var: 0.017499s

Mar 27 14:49:13 mail kernel: GEOM_JOURNAL [1]: Suspend time of /var: 
0.016974s

...

At the time when «Suspend time» = 45.187463s, all operations on the disk 
(gjournal partition) are blocked. All processes (htttp, squid, sshd, 
pop3d, imapd, and even login) are waiting for the expiration of this 
time. And only after that continue to operate normally.

This does not happen if not only read but also simultaneously write to 
the partition with gjournal.
(dd if=/var/tmp/access.log of=/var/tmp/a.log or cp /var/tmp /access.log 
/var/spool/uucppublic)

Partion with gjournal is located on a hardware RAID 10 - driver aac.

I put a ordinary sata disk in the computer and create a gjournal 
partition on it..
On the sata drive it worked fine.

So I guess that the problem is in the driver aac.
Could it be so because the aac driver does not support BIO_FLUSH?


PS.

root at mail[/var/tmp]# gjournal list

Geom name: gjournal 609973015

ID: 609973015

Providers:

1. Name: ad6p4.journal

Mediasize: 456084396032 (425G)

Sectorsize: 512

Mode: r0w0e0

Consumers:

1. Name: ad6p4

Mediasize: 494739102208 (461G)

Sectorsize: 512

Mode: r1w1e1

Jend: 494739101696

Jstart: 456084396032

Role: Data, Journal



Geom name: gjournal 2757859993

ID: 2757859993

Providers:

1. Name: aacd0p5.journal

Mediasize: 498216205824 (464G)

Sectorsize: 512

Mode: r1w1e2

Consumers:

1. Name: aacd0p5

Mediasize: 536870912000 (500G)

Sectorsize: 512

Mode: r1w1e1

Jend: 536870911488

Jstart: 498216205824

Role: Data, Journal


Server uses 12 G memory.





More information about the freebsd-stable mailing list