[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-bugs
Subject:    misc/155994: Long "Suspend time" when reading large files from
From:       "Eugene V. Boontseff" <eugene () home ! wdc ! spb ! ru>
Date:       2011-03-28 11:48:24
Message-ID: 201103281148.p2SBmO9N090180 () red ! freebsd ! org
[Download RAW message or body]


> 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@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 &#1058;&#1035;Suspend time&#1058;&#1051; 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 &#1058;&#1035;Suspend time&#1058;&#1051; = 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:
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org"


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic