Eugene V. Boontseff
2011-Mar-28 08:10 UTC
Long «Suspend time» when reading large files from gjournal partions.
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@mail [/var/tmp]# du -h /var/tmp/access.log 8.3G /var/tmp/access.log root@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@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@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.