/srv/irclogs.ubuntu.com/2009/12/18/#ubuntu-mobile.txt

georgeascottI'm trying to find general mobile support/tips non distro specific02:57
georgeascottgoogle keeps automatically redirecting me to a page saying to log in from a pc to set up google voice02:58
=== asac_ is now known as asac
=== doko__ is now known as doko
=== asac_ is now known as asac
persiaJamieBennett: Looking at https://wiki.ubuntu.com/ARM/CasperSpeedup, have you determined if the long-running processes are processor-limited, io-limited, or ipc-limited?15:06
JamieBennettpersia: not yet and unsure how to check them for this15:06
JamieBennettI have managed to shave 7 seconds off though so far15:06
JamieBennettseems slow-down occurs around debconf-communicate calls which is suspicious15:07
persiaThat seems to be a lot of them, yeah :)15:07
persiaI also wonder if some could be parallelised, like `dpkg -P gdm-guest-session`15:08
persiaDunno if "time" is available in initramfs, but that's how I usually check the state of various resource uses.15:08
persia(and if you alter the format arguments, can usually return some interesting values)15:09
JamieBennettpersia: that dpkg can be replaced with rm -r /usr/share/gdm/guest-session15:09
persiaI don't think that's the best answer, because that won't clear the configs.15:10
persiaNice thing about `dpkg -P` is that is removes the associated configuration.15:10
JamieBennettbut we are looking at speed for a live image15:11
persiaYeah.15:11
loolJamieBennett: I'm pretty sure there are some low hanging fruits in perl code, perhaps bugs in the interpreter or just very slow constructs that we only notice on armish CPUs; I'm sure you'll find out  :-)15:12
persiaSo, if we don't remove the configuration, that might end up leaving a gdm that is configured for guest sessions without the helper binary, which gives a poor user experience in the live environment.15:12
JamieBennettlool: its just identifying test cases to shake them out15:12
loolJamieBennett: Oh you mean you need some smaller test cases reproducing the issues?15:13
loolJamieBennett: Does dpkg-reconfigure $package reproduce the slowness?  Would that be a good enough test case?15:13
persiaRight.  At least for the debconf-communicate case, we can probably just profile it running in an installed system and determine some of the issues.15:13
JamieBennettlool: it would be to ensure they are the same yes, but the perl issue ?15:14
persiaJamieBennett: dpkg-reconfigure *is* perl :)15:16
loolJamieBennett: debconf is usually perl + shell bits, so you will likely see it15:17
loolJamieBennett: Once thing you can do is strace -t or -tt or -ttt to see which processes take what time to run15:17
persiaAnd you can profile perl to see which specific bits are slow.15:18
loolThere are better tools out there for profiling, but strace is a good first start if you don't yet know what's exactly involved in the problem15:18
JamieBennettOK, will do.15:19
loolJamieBennett: Oh -t/-tt etc. will but timestamps at the beginning of each line of strace output15:20
loolForgot to explain that part15:20
persiaJamieBennett: Last note is that I don't think it's worth trying to improve the speed of make-ssl-cert or fontconfig-voodoo untilthe rest is hit.  Limited parallelisation plus solving the debconf stuff should be a huge win, at which point it's proabably worth reprofiling.15:21
JamieBennettpersia: OK15:23
persiaJamieBennett: Was that the sort of review you sought when you asked for review in the meeting, or do you want something more detailed?15:24
JamieBennettpersia: between you and lool that's exactly what I needed. I'll probably prod you again when I have the results of the strace at some point15:26
persiaSure :)15:27
=== kung|away is now known as kung
Jones_HugoHi there... any1 around?17:13
Jones_HugoBeen tryind to load Hildon-Desktop on karmic... any1 got it done?17:19
Jones_Hugotrying*17:19
=== kung is now known as kung|away
dnearyHi18:24
dnearyI just installed UNR 8.10 on a Samsung NC2018:24
dnearyIs the background fading in & out supposed to be really slow? I mean, 3 frames with 0.5fps?18:25
dnearyI assume it's a consequence of my graphics card not being supported (I had to install the community driver for the VX800 chipset on install)18:26
dnearyNo-one in?18:28
asachavent heard of NC2018:31
asacbut if you had to installsomething that wasnt there oob ...  i would guess its pretty sure that18:31
asacdneary: why not UNR 9.10 ? ;)18:31
asacor was that a typo?18:31
dnearyThat's the one18:31
dnearyI missed the 8 button18:32
dnearySo typo, yes18:32
asacyou have xserver-xorg-video-openchrome installed ?18:32
asacguess you followed instructions here: https://help.ubuntu.com/community/OpenChrome ?18:33
dnearyI followed the instructions at the top of the NC20 page18:34
dneary https://launchpad.net/~xorg-edgers/+archive/drivers-only/+build/130748618:34
dnearysudo dpkg -i /media/disk/xserver-xorg-video-via_0.2.904~svn814-0ubuntu0tormod_i386.deb18:35
dnearysudo dpkg -i /media/disk/xserver-xorg-video-openchrome_0.2.904~svn814-0ubuntu0tormod_i386.deb18:35
dnearyFirst during installation, then again after installation18:35
asacok18:35
asacanyway. at best check in -desktop ;)18:36
dnearyYeah18:36
asacbut from what i understand thats the latest crack18:36
asacin edgetsr18:36
dnearyFirst off the liveCD, then an install18:36
asacedgetrs18:36
asacwhat i mean is that xserver is a ubuntu-desktop topic ;)18:36
asacnot -mobile18:36
dnearyedgerts18:36
dnearyasac, UNR doesn't work out of the box either :)18:36
asacyes, but if its a driver issue its not UNR :-P18:37
dnearyOK18:39
dnearyBut one thing which could help is to know if the UNR desktop requires 3d to work (you could be using some GL or clutter by default in the desktop maybe?18:39
Jones_HugoBeen trying to load Hildon-Desktop on karmic... any1 got it done?18:40
dnearyIf you are, the chances are that with unaccelerated 2D it's going to be like running Tuxracer on the typical Nvidia chip in 200018:40
JamieBennettlool: around? output of an strace on /usr/lib/user-setup/user-setup-apply http://pastebin.ubuntu.com/343814/20:36
=== jmc93739653 is now known as jmc93739653_
loolJamieBennett: -t is a bit light, only second information21:06
loolYou might want -tt21:06
loolJamieBennett: Start with -e trace=process21:07
loolThat limits to process creation / destruction events21:07
JamieBennettlool: looks like its the reading of templates.dat which takes around 4 seconds21:07
loolOh that could be21:07
loolIt's 2 MB which is a bit heavy to read on each debconf-communicate21:08
JamieBennettlool: yes I think its 2.4MB21:08
JamieBennettwhich is read each debconf-communicate which adds 4 seconds to each of the scripts that use it21:08
loolYeah it's pretty clearly reading of this file21:08
loolIt's odd that it takes so long to *read* it21:08
JamieBennettnot sure how to 'fix' that though21:09
JamieBennettapart from a) not read it or b) cut the file down21:09
loolJamieBennett: Can you try 'cat /var/cache/debconf/templates.dat'21:09
* JamieBennett reboots the babbage21:09
loolOh on a real system is fine21:09
loolJamieBennett: I mean I find it odd that *reading* 2 MB of data takes so long, unless it's parsed at the same time21:11
loolIt could be slow to read it because it's stuffed into some perl data structure21:11
JamieBennetttime cat /var/cache/debconf/templates.dat21:14
JamieBennettreal0m6.727s21:14
JamieBennettuser0m0.000s21:14
JamieBennettsys0m0.036s21:14
JamieBennettor is that not what your after?21:14
loolSo the cat took 6 seconds to run?21:15
loolFor a 2 MB file?21:15
loolThat's huge21:15
JamieBennetton my quad core21:15
JamieBennett2m16 on the ARM21:15
loolUh21:16
looltime cat /var/cache/debconf/templates.dat >/dev/null21:16
loolcat /var/cache/debconf/templates.dat > /dev/null  0,00s user 0,00s system 0% cpu 0,006 total21:16
JamieBennett:)21:16
loolon my laptop21:16
looland on my desktop21:16
loolcat /var/cache/debconf/templates.dat > /dev/null  0,00s user 0,01s system 5% cpu 0,198 total21:16
JamieBennett0.147s on the babbage21:16
loolOk21:16
loolJamieBennett: So if you look at debconf-communicate, it starts with Debconf::Db->load21:18
loolHere it's enough to load templates.dat21:18
loolWhat you can try is creating a smaller test case by cp /usr/bin/debconf-communicate debconf-test21:18
JamieBennettI see the load21:18
looladd an exit 0 after the load and run debconf-test21:18
looltime ./debconf-test21:18
* JamieBennett does that21:18
lool./debconf-test  0,20s user 0,00s system 97% cpu 0,204 total21:18
loolon my laptop21:18
JamieBennett0m4.632s21:20
loolSo that's clearly your culprit21:20
JamieBennettwhat we expected21:20
looltime perl -e 'use Debconf::DbDriver; $templates=Debconf::DbDriver->driver(Debconf::Config->templates);'21:20
loolShould be the same thing, but I'm following the debconf code21:20
loolJamieBennett: The actual driver to create the templates.dat structure in memory is /usr/share/perl5/Debconf/DbDriver/File.pm21:25
loolIt has a bit of debug21:25
loolYou could enhance it with some timing info21:25
loolJamieBennett: and actual parsing is done by /usr/share/perl5/Debconf/Format/822.pm21:26
JamieBennettOK, I'll add some timestamps to see what's happening21:26
loolJamieBennett: With these last two, you're probably able to construct a small perl program which just parses the rfc2822 data in templates.dat and is too slow21:27
loolJamieBennett: Another approach is to question the usage of this format; you could propose usage of alternate formats (e.g. binary mmap-able sqlite db or something)21:28
JamieBennettlool: seems like a big change doing that though21:28
loolJamieBennett: When you have a small perl program, either you can change the perl style to be more efficient, or it might be an issue in the perl interpreter itself21:28
loole.g. misaligned memory accesses or unoptimized code path on arm21:29
loolJamieBennett: I don't think it's that big a change, it's all configurable, see /etc/debconf21:29
loolName: templatedb21:29
loolDriver: File21:29
loolMode: 64421:29
loolFilename: /var/cache/debconf/templates.dat21:29
loolSo you'd be creating e.g. Driver: sqlite21:29
loolAnyway, better to look into why it's slow first21:29
loolJamieBennett: When you have some data, talk to cjwatson21:30
JamieBennettlool: I'll get the timing info and we can decide the course of action from there.21:30
JamieBennettwill do21:30
loolis the d-i/debconf guru and will have a better taste than I have to decide where to fix debconf slowness21:30
loolit might be he knows of more options or has a preference for one21:30
JamieBennettlool: OK, thanks for the help.21:30
loolAck21:30
=== jmc93739653_ is now known as jmc93739653
JamieBennettlool: OK so its definitely in /usr/share/perl5/Debconf/Format/822.pm but its not that its slow, its that the read() is being called many many times. Just trying to locate what calls it21:50
JamieBennettlool: while (! eof $this->{_fh}) {21:55
JamieBennettmy ($item, $cache)=$this->{format}->read($this->{_fh});21:55
JamieBennett$this->{cache}->{$item}=$cache;21:55
JamieBennett}21:55
JamieBennettIs the culprit21:55
JamieBennettin File.pm21:55
JamieBennett(called twice strangely but its the second call to it that take 3s +)21:55
=== asac_ is now known as asac
=== asac_ is now known as asac
=== jmc93739653 is now known as jmc93739653_
=== jmc93739653_ is now known as jmc93739653

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!