misc/155994: Long "Suspend time" when reading large files from gjournal partion.

Eugene V. Boontseff eugene at home.wdc.spb.ru
Mon Mar 28 11:50:14 UTC 2011


>Number:         155994
>Category:       misc
>Synopsis:       Long "Suspend time" when reading large files from gjournal partion.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Mar 28 11:50:13 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Eugene V. Boontseff
>Release:        8.2-RELEASE
>Organization:
>Environment:
FreeBSD mail.wdc.spb.ru 8.2-RELEASE FreeBSD 8.2-RELEASE #7: Sun Mar 20 15:31:47 MSK 2011     root at mail.wdc.spb.ru:/usr/obj/usr/src/sys/EUKERNEL  amd64

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


>Description:
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 aac driver.


>How-To-Repeat:
Read a large file (size of a few G) from gjournal partition located on the Adaptec hardware raid (driver aac).
For example: dd if=/gjournal_partition/big_file of=/dev/null

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list