Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Jul 2011 11:32:20 +0200
From:      =?ISO-8859-1?Q?Ren=E9_Ladan?= <rene@freebsd.org>
To:        Alexander Best <arundel@freebsd.org>
Cc:        Norberto Lopes <nlopes.ml@gmail.com>, Gleb Kurtsou <gleb.kurtsou@gmail.com>, Matthias Andree <matthias.andree@gmx.de>, Adrian Chadd <adrian@freebsd.org>, freebsd-current@freebsd.org
Subject:   Re: chromium port causing massive I/O faults
Message-ID:  <CADL2u4jzF%2BXnGY0mL4dHc_T7X4UpOfe-ZZDm5dkpA50fpEh0sQ@mail.gmail.com>
In-Reply-To: <20110727092338.GA10526@freebsd.org>
References:  <20110724212544.GA57733@freebsd.org> <CAJ-VmonHcDM_p3%2BYPO2vyF9a054VavQmVQqcKt369w28M%2BtaXg@mail.gmail.com> <20110725072102.GA24938@freebsd.org> <4E2D2C32.5010602@gmx.de> <20110727004850.GA63109@freebsd.org> <20110727083339.GA12233@tops> <CADL2u4j0Cue2bwqUSCZFdFoLZXAnMYVG2%2BTuFqJOeTKacb6c%2Bg@mail.gmail.com> <20110727092338.GA10526@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
2011/7/27 Alexander Best <arundel@freebsd.org>:
> On Wed Jul 27 11, Ren=E9 Ladan wrote:
>> 2011/7/27 Gleb Kurtsou <gleb.kurtsou@gmail.com>:
>> > On (27/07/2011 00:48), Alexander Best wrote:
>> >> On Mon Jul 25 11, Matthias Andree wrote:
>> >> > Am 25.07.2011 09:21, schrieb Alexander Best:
>> >> > > On Mon Jul 25 11, Adrian Chadd wrote:
>> >> > >> Is it perhaps doing disk IO using mmap?
>> >> > >
>> >> > > how can i check, whether that's the case or not?
>> >> >
>> >> > Use truss(1) for instance.
>> >> >
>> >> > However, unless there are *practical* problems, a high number of pa=
ge
>> >> > faults is not an indication for problems. =A0Although it may sound =
scary,
>> >> > page faults are a feature of the memory management.
>> >>
>> >> unfortunately truss(1) is crashing chromium :( i opened up a new thre=
ad
>> >> reagarding this issue on freebsd-current@.
>> > Could you try ktrace? It works for me
>> >
>> >> another thing i noticed is the increase in system calls caused by chr=
omium.
>> >> let's have a look at hub.freebsd.org:
>> >>
>> >> uptime =3D 149 days
>> >>
>> >> and 'vmstat -s' reports:
>> >>
>> >> 2168697753 cpu context switches
>> >> 2266220366 device interrupts
>> >> 2902880931 software interrupts
>> >> 3779075897 traps
>> >> 902107847 system calls
>> >>
>> >> now on my box:
>> >>
>> >> uptime =3D 2 days
>> >>
>> >> and 'vmstat -s' reports:
>> >>
>> >> 1155995386 cpu context switches
>> >> 164577882 device interrupts
>> >> 189456976 software interrupts
>> >> 137007580 traps
>> >> 2178434582 system calls
>> > About 2.5k syscalls with chrome + a lot of other stuff running. 1.5k
>> > without chrome.
>> >
>> > Looks like there is a lot of clock_gettime and gettimeofday syscalls.
>> > ~ % kdump -m 1 -f ktrace.out | grep 'CALL .*gettime' | wc -l
>> > =A0 24343
>> >
>> > ~ % kdump -E -m 1 -f ktrace.out | grep 'CALL .*gettime' | tail -20
>> > =A012747 chrome =A0 15.077376 CALL =A0gettimeofday(0x7fffff7f9630,0x7f=
ffff7f9640)
>> > =A012747 chrome =A0 15.077396 CALL =A0clock_gettime(0x4,0x7fffffbfb6f0=
)
>> > =A012747 chrome =A0 15.077497 CALL =A0gettimeofday(0x7fffffbfb650,0x7f=
ffffbfb660)
>> > =A012747 chrome =A0 15.077609 CALL =A0gettimeofday(0x7fffffbfb650,0x7f=
ffffbfb660)
>> > =A012747 chrome =A0 15.077723 CALL =A0gettimeofday(0x7fffffbfb650,0)
>> > =A012747 chrome =A0 15.077845 CALL =A0clock_gettime(0,0x7fffffbfb2b0)
>> > =A012747 chrome =A0 15.078337 CALL =A0clock_gettime(0x4,0x7fffff9fa630=
)
>> > =A012747 chrome =A0 15.078544 CALL =A0clock_gettime(0x4,0x7fffff9fa650=
)
>> > =A012747 chrome =A0 15.078587 CALL =A0clock_gettime(0x4,0x7fffff9fa650=
)
>> > =A012747 chrome =A0 15.078632 CALL =A0clock_gettime(0x4,0x7fffff9fa650=
)
>> > =A012747 chrome =A0 15.078674 CALL =A0clock_gettime(0x4,0x7fffff9fa650=
)
>> > =A012747 chrome =A0 15.082803 CALL =A0gettimeofday(0x7ffffedd3630,0x7f=
fffedd3640)
>> > =A012747 chrome =A0 15.084644 CALL =A0gettimeofday(0x7fffffbfb650,0x7f=
ffffbfb660)
>> > =A012747 chrome =A0 15.084746 CALL =A0clock_gettime(0x4,0x7fffffbfb670=
)
>> > =A012747 chrome =A0 15.084815 CALL =A0clock_gettime(0x4,0x7fffffbfb670=
)
>> > =A012747 chrome =A0 15.086620 CALL =A0gettimeofday(0x7ffffefd4650,0x7f=
fffefd4660)
>> > =A012747 chrome =A0 15.086736 CALL =A0clock_gettime(0x4,0x7ffffefd4670=
)
>> > =A012747 chrome =A0 15.086815 CALL =A0clock_gettime(0x4,0x7ffffefd4670=
)
>> > =A012747 chrome =A0 15.098315 CALL =A0gettimeofday(0x7fffffffafe0,0x7f=
ffffffaff0)
>> > =A012747 chrome =A0 15.098680 CALL =A0clock_gettime(0x4,0x7fffffffb250=
)
>> >
>> > Some work was done by kib@ to create a kernel page strong current time
>> > and other misc info to eliminate gettimeofday kind syscalls. =A0Bits o=
f it
>> > were commited but I'm not sure if it was finished.
>> > But anyway calling gettimeofday hundreds of times per second is a chro=
me
>> > bug.
>> >
>> > FreeBSD 9.0-CURRENT #2 r224003+777e962: Thu Jul 14 13:04:55 EEST 2011
>> > chromium-11.0.696.57_1
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0^^^^^^^^^^^^^
>> Can you retry with an up-to-date version of www/chromium? =A0The
>> codebase of chromium
>> changes quite fast so not using the latest version in ports might
>> render obsolete (and
>> upstream unsupported) results.
>
> my tests were done with chromium-12.0.742.124 btw.
>
Ok, I'll do some tests with the beta version from the chruetertee
repository (13.0.782.99).
>>
>> Ren=E9
>> --
>> http://www.rene-ladan.nl/
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADL2u4jzF%2BXnGY0mL4dHc_T7X4UpOfe-ZZDm5dkpA50fpEh0sQ>