Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Aug 2012 14:40:06 +0400
From:      Lev Serebryakov <lev@FreeBSD.org>
To:        Alexander Motin <mav@FreeBSD.org>
Cc:        Adrian Chadd <adrian@freebsd.org>, Doug Barton <dougb@FreeBSD.org>, current@freebsd.org
Subject:   Re: CURRENT as gateway on not-so-fast hardware: where is a bottlneck?
Message-ID:  <1849591745.20120815144006@serebryakov.spb.ru>
In-Reply-To: <502B775D.7000101@FreeBSD.org>
References:  <157941699.20120815004542@serebryakov.spb.ru> <CAJ-Vmon86-FPs4%2BXXkQXAow1jW465pMM2Sj7ZHi_0_E9VYSFSA@mail.gmail.com> <502AE8B5.9090106@FreeBSD.org> <502B775D.7000101@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello, Alexander.
You wrote 15 =E0=E2=E3=F3=F1=F2=E0 2012 =E3., 14:18:05:


AM> It is quite pointless to speculate without real info like mentioned
AM> above KTR_SCHED traces. Main thing I've learned about schedulers, things
AM> there never work as you expect. There are two many factors are relations
AM> to predict behavior in every case.
  I'll take these with as much variants (ULE and 4BSD, polling with
HZ=3D1000 and interrupts with default HZ) as I can, in day or two.
  Now I have kernels with KTR compiled in (GEN, NET and SCHED).

AM> About Soekris and idle CPU measurement, let's start from what kind of=
=20
AM> eventtimer is used there. As soon as it is UP machine, I guess it uses
AM> i8254 timer in periodic mode. It means that it by definition can't
 It doesn't have any other timers. You could think about this machine
as about good old "true" i386, with PCI (and some additional fancy
commands in CPU core, something like classic Pentium) but
nothing more.

kern.eventtimer.choice: i8254(100) RTC(0)
kern.eventtimer.et.RTC.flags: 17
kern.eventtimer.et.RTC.frequency: 32768
kern.eventtimer.et.RTC.quality: 0
kern.eventtimer.et.i8254.flags: 1
kern.eventtimer.et.i8254.frequency: 1193182
kern.eventtimer.et.i8254.quality: 100
kern.eventtimer.periodic: 1
kern.eventtimer.timer: i8254
kern.eventtimer.activetick: 1
kern.eventtimer.idletick: 0
kern.eventtimer.singlemul: 2

AM> properly measure load from treads running from hardclock, such as=20
AM> dummynet, polling netisr threads, etc.
  You see, here are two different problems:

(a) with polling, system is responsive under any load, but wire2wifi
performance  is hugely affected by wire2wire traffic (and mpd5
inbetween). And, yes, "top" seems to lie about idle time.

(b) with interrupts, system works much better when it works (wire2wifi
speed is affected by wire2wire traffic, but to much less extent), but
it freezes every third minute for minute, when traffic is passed, but
no user-level applications including BIND and DHCP server) works at
all FOR MINUTE OR MORE. It not looks like 100ms lag, which could affect
video playback. It looks like 60-120 seconds lag! At least, in case of
ULE, I didn't try 4BSD yet.

--=20
// Black Lion AKA Lev Serebryakov <lev@FreeBSD.org>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1849591745.20120815144006>