[chromium-dev] Re: Is creating a custom PDF rendering backend a sound idea?

2009-05-17 Thread Joel Stanley

On Mon, May 18, 2009 at 05:46, Evan Martin  wrote:

> WebKit (but not the Chromium port) already targets Cairo via GTK, and
> Cairo supports PDF output.  I'm not sure anyone's using it for PDF
> output yet though.

Midori uses it.  'midori -s http://path.to/website' will output a pdf
of the site.

http://www.twotoasts.de/index.php?/pages/midori_summary.html

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Improving power usage

2009-07-13 Thread Joel Stanley

Hello,

I'm a Summer of Code student working with Dean.  My interests are the
Linux port, specifically ensuring Chromium behaves well on low spec
machines.

So far I've spent my 'summer' (it's winter here in Australia) on the
ARM port of Chromium.  As of the recent v8 gyp changes, the tree can
build for ARM (and thumb, for a binary that's around ~25% smaller) and
I've used it to browse on real hardware; the Beagleboard, an OMAP3
based ARM board with 128MB of RAM.

I've been looking into what to work on next.  I'd like to investigate
the possibility of reducing the amount of work being done when running
on battery.

On my laptop I send SIGSTOP to Firefox when I'm not using it, to save
battery without losing state.  This saves me 1 Watt when running Gmail
in Firefox 3, or around 8% of the system power draw on my Thinkpad
X300.

As we're multi process with Chrome we could instead suspend any
background renderers, plugin and extension processes without affecting
the foreground tabs.

Some obvious gotchas

 - when tabs share renderers, we can't indiscriminately stop background tabs
 - we can't just sigstop the renderer process, as the browser will
think it has crashed

Other things to look at would be timers that fire 'too often', and
pausing animated content such as gifs and flash.

Wakeups are not too bad, but any savings will mean longer lasting batteries:

  28.4% (187.4)   firefox-3.5 : hrtimer_start_range_ns (hrtimer_wakeup)
   4.1% ( 26.9)chrome : hrtimer_start_range_ns (hrtimer_wakeup)
   2.3% ( 15.0)chrome : ep_poll (process_timeout)

(Powertop output of Firefox 3 vs Chromium trunk, one tab running Gmail, on
Ubuntu Karmic)

Perhaps we could run a powertop bot, that monitors an idle session
with a few tabs opened to catch any regressions with timers.

I plan to spend some time looking into this.  Feedback and suggestions
would be appreciated.

Cheers,

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Improving power usage

2009-07-14 Thread Joel Stanley

On Tue, Jul 14, 2009 at 01:52, Evan Martin wrote:
>> I've used it to browse on real hardware; the Beagleboard, an OMAP3
>> based ARM board with 128MB of RAM.
>
> Wow, impressive.  How much do you think multi-process hurts us?

The full story is 128MB of RAM + 128MB of swap on a slow (class 4) SD card.

Multi-process changes the game, at least wrt memory.  Normally once
you hit the memory ceiling the system is unresponsive until the OOM
killer takes out something (on the OLPC XO this would often be X,
losing the entire session).  With Chrome, opening a 3rd tab results in
the new renderer instantly crashing (if it's even starting?), leaving
you restricted to two tabs but free to continue browsing in those two.

So IMO, multi-process makes us fail in much nicer ways :) But we will
hit that memory ceiling sooner due to the overheads of being
multi-process.

The ~500Mhz CPU is pegged when rendering, but the system goes
near-idle once drawing has finished.  Scrolling takes it back up to
100%.  I haven't used it much, but will do more often going forward
now that I can build using the tree.

On the topic of the ARM build, it would be great if we could have a
buildbot doing cross compiles.  I filed a bug at
http://crbug.com/16321, is there anything else I can do to follow that
up?

> One piece to look at is the code that calls SetProcessBackgrounded(),
> which on Windows marks the process as one that can be paged out but on
> Linux is not implemented.  I don't know how it decides it's ok to do
> that, but it'd be good logic to examine.

I'll take a look.  My email was kicked off after discovering the
SystemMonitor class, which I understand is only used for switching on
and off high-res timers on Windows.  These both sound like good
switches for enabling efficient behaviour.

> I think it'd be pretty interesting to fully suspend background tabs,
> but doing it safely is likely tricky.  For example, imagine a page
> that has Javascript that is driving a Flash plugin playing background
> music.

I wonder if it would be possible to detect that sound is coming from a
tab.  Perhaps it's not worth it, as the case of IM in the background
tab will be really hard to detect in a generic fashion.  The only
reliable way the browser will discover that a tab is inactive is for
the user to tell it.

Right click -> "Pause this tab"?

This would be a UI win over my current `pgrep firefox | xargs kill -STOP` :)

>> Other things to look at would be timers that fire 'too often', and
>> pausing animated content such as gifs and flash.
>
> Even for stuff like gifs that don't have audio, you could imagine a
> page with a very long animated gif, where I might switch away from the
> tab and expect it to be farther along when I come back.
>
> Here's an idea: when a page is in the background don't let it repaint.
>  That means when you switch to it you'll have to wait for it to
> repaint, but maybe that's an ok tradeoff.  (Maybe we do this already.)

So we do this for GIFs.  Can anyone tell me if background tabs
re-paint themselves?  If not, I'll add it to the TODO.

> A final idea is simply looking at performance overall.
> We haven't yet looked at even a profile and we very well could be
> doing a lot of unnecessary work.
> For example, I believe the renderer spams the browser repeatedly with
> "set tooltip" messages as you move the mouse around.  I think I saw a
> bug filed suggesting we could have the renderer only send the message
> if the tooltip changed.  Maybe that's not enough work to waste much
> battery, though.
>

This is more generic, but perhaps more realistic.  This would be best
discovered by looking at IPC traffic going past?

Thanks for the reply,

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Improving power usage

2009-07-14 Thread Joel Stanley

On Tue, Jul 14, 2009 at 03:09, Craig Schlenter wrote:
> I've mentioned this to Joel off-list but in case anyone else is interested,
> I have code that runs background tabs at lower scheduling priorities
> on linux.

Thanks.  Are you able to post the newer version you mentioned?

> Tweaks to /etc/security/limits.conf are necessary to make it work though
> (to grant priority raising abilities).

If we're just tweaking the priority level between 0 and 20 a normal
user will have no worries.  It's only when we try to take it below 0
that more capabilities are needed.

$ renice +1 31404
31404: old priority 0, new priority 1

$ renice -1 31404
renice: 31404: setpriority: Permission denied

$ renice +3 31404
31404: old priority 1, new priority 3

$ renice +1 31404
31404: old priority 3, new priority 1

OTOH, renicing isn't really going to help my quest to end unnecessary
background work, it's just going to make sure the foreground gets more
CPU share.

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Improving power usage

2009-07-14 Thread Joel Stanley

On Tue, Jul 14, 2009 at 00:53, Dan Kegel wrote:
> It'd be nice if users didn't have to do that...
> does HTML 5 specify any kind of low power idle state for applications?
> Ideally when the screen blanks, we'd want all the apps to go
> into some kind of low power state, wouldn't we?

It would be great if Gmail (or similar) could ask Chrome if it's in
the background, and do less work until it comes back into focus.  Mmm
and use Android style tickles to wake up when new email arrives...

>> Perhaps we could run a powertop bot, that monitors an idle session
>> with a few tabs opened to catch any regressions with timers.
>
> I like that idea a lot.

Cool! I need inside help to make that happen, are you the person I can poke?

I've spent today looking into collecting powertop numbers.  The latest
version of gnome-power-manager has a powertop-like tab, and it's
scraping it's data from devicekit-power.  Karmic has both of these, I
thought Jaunty had devkit-power but looking again I might have been
mistaken.

So once we have a system that has devicekit-power, we can use a
tool[1] from the source tree to dump stats:

$ ./devkit-power -w
Total wakeups per minute: 462
Wakeup sources:
userspace:0 id:12, interrupts:216.0, cmdline:interrupt, details:i8042
userspace:0 id:4082, interrupts:91.0, cmdline:kernel-ipi,
details:Rescheduling interrupts
userspace:0 id:30, interrupts:64.5, cmdline:interrupt,
details:PCI-MSI-edge  iwlagn
userspace:0 id:28, interrupts:43.0, cmdline:interrupt,
details:PCI-MSI-edge  i915
userspace:0 id:14, interrupts:15.0, cmdline:interrupt, details:ata_piix
userspace:1 id:5971, interrupts:8.9,
cmdline:/home/shenki/chrome/chrome, details:hrtimer_start_range_ns
(hrtimer_wakeup)
userspace:1 id:29472, interrupts:8.5,
cmdline:/usr/lib/firefox-3.5/firefox-3.5,
details:hrtimer_start_range_ns (hrtimer_wakeup)

Next is collecting them in the same manner that other perf stats are
collected...

Joel

[1] http://cgit.freedesktop.org/DeviceKit/DeviceKit-power/tree/tools

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Linux developers: you need to read this

2009-07-14 Thread Joel Stanley

On Wed, Jul 15, 2009 at 02:12, Adam Langley wrote:
>  * build chrome_sandbox

I think the defines got messed up somewhere...

http://codereview.chromium.org/149667 fixes it for me.

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Can someone compile this patch for me?

2009-08-02 Thread Joel Stanley

Hello,

On Mon, Aug 3, 2009 at 11:35, Anand Mistry wrote:
> Hi all,
> I don't have the resources (disk space + tools) to compile my patch under
> Windows and OSX, so can someone on this list quickly try it before I post it
> for review?  And on Windows, do a sanity check on the about:memory page.
>  Patch is attached.

The linux memory reporting code is something I have been working on
recently, thanks for taking it further.

If you upload the patch to codereview.chromium.org, one of the
chromium devs can submit it to the tryservers which build for all
supported platforms.  This process is also used for code review rather
than submitting patches to the mailing list.

http://dev.chromium.org/developers/contributing-code

Cheers,

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] jankfs

2009-08-18 Thread Joel Stanley

When I first got Chromium going on the beagleboard it was slow.  I
believe the the main slowdown is due to the limited RAM (128MB), but
another factor was the slow disk I/O due to the root fs being held on
a cheap SD card.

To simulate the beagleboard's slow I/O on my SSD-equipped laptop, I
wrote 'jankfs'; a small hack to a bind mounting FUSE filesystem that
inserts a sleep before each read() and write().  This can be specified
at mount time, the delay being either constant number of microseconds
or a multiplier for the read or write size.

Some other ideas that we had were to have some operations randomly
fail, or have the delays be random, but I have not implemented those
yet.

To gauge the effect of slow IO I ran startup_tests on a amd64 Linux
system and using a amd64 Release build.  There are three runs:
normally, a constant delay of 10us read delay, and a constant 10us
write delay.  The numbers come from Dan K's scripts (thanks Dan!).

normal:
 median  meanmax stddev

warm: t= 110   259   3079  663
cold: t=1224  1223   1274   32

warm: t= 114   252   2910  625
cold: t=1246  1252   1505   77


Jankfs, write-delay-absolute=10:

 median  meanmax stddev

warm: t= 384   520   3074  601
cold: t= 375   377399   12

warm: t= 388   544   3512  698
cold: t= 377   373390   10


Jankfs, read-delay-absolute=10:

  median  meanmax  stddev

warm: t= 388   518   3005   585
cold: t= 376   376400   10

warm: t= 397   528   3072   599
cold: t= 371   375401   16


The cold startup are skewed as I suspect FUSE has extra caching that
/proc/sys/vm/drop_caches does not control.  The warm startup numbers
show a clear slowdown.

To use jankfs:

 - Install the bindfs deb from https://launchpad.net/~shenki/+archive/ppa/
 - Add 'user_allow_other' to /etc/fuse.conf, and add your user to the
fuse group.

For non-Ubuntu (or if your Ubuntu version is too old):

 - Download bindfs from http://bindfs.googlecode.com/files/bindfs-1.8.3.tar.gz
 - Apply http://jms.id.au/~shenki/jankfs_1.patch
 - ./configure && make
 - the binary  at src/bindfs can be run in-place without installing

To create a mount with a constant (ie, without depending on the write
size) delay of 10 microseconds:

$ bindfs --write-delay-absolute=10 src/chromium/ /tmp/test/

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: jankfs

2009-08-19 Thread Joel Stanley

On Wed, Aug 19, 2009 at 19:38, Ben Laurie wrote:
>> warm: t=         397   528   3072   599
>> cold: t=         371   375    401   16
>>
>>
>> The cold startup are skewed as I suspect FUSE has extra caching that
>> /proc/sys/vm/drop_caches does not control.  The warm startup numbers
>> show a clear slowdown.
>
> I'm puzzled - even if there's skew due to extra caching, how can this
> make warm _slower_ than cold?
>

I'm confused as well.

The 'cold' run calls fdatasync() then  posix_fadvise() with
POSIX_FADV_DONTNEED on the binary before running the test.  This is
appears to be the only difference between cold and warm.  I'm running
2.6.31-rc6 from Ubuntu Karmic.

The tests run like this:

1. run startup test - 'warm' results collected here
2. fdatasync() and fadvise()
3. run startup test - 'cold' results collected here

as fadvise is only advice - the kernel is not required to drop the
file from memory - it's still cached.

A run of the tests with the order reversed ...doesn't change the
results :/ So much for that theory.

jankfs uses usleep() to slow down the read() and write() filesystem
calls.  Perhaps that's interacting in unexpected ways?

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: jankfs

2009-08-19 Thread Joel Stanley

On Wed, Aug 19, 2009 at 22:15, Evan Martin wrote:
> Just to eliminate any doubt, you can manually as root
>  echo 3 > /proc/sys/vm/drop_caches
> to force the caches to be dropped.

I have been doing this.

> I don't know how slow I'd expect an SD card to be, but this random
> page I found (search for "latency") has it between 1 and 3ms, which is
> still much faster than a disk.
>  http://www.symbian-guru.com/welcome/2008/09/sandisk-ultra-8gb-microsd-better.html

Latency might be that fast but the chrome binary is ~30MB and with
slow SD cards doing 1-4MB/s the read speed matters.

> One more point of confusion: we shouldn't really do any writing on
> startup -- how does that affect anything?  From your patch it seems
> you always call usleep(); maybe usleep(0) still has an effect?  Maybe
> you could try measuring with jankfs with no delay parameters?

You hit the nail on the head.  Setting no delay, or a write delay of
15000us (which is still pretty small), gives the same results as
above.  So my numbers are a illustration of the effects of FUSE and/or
bindfs.

I was using sleep() for the first try at doing 'jankfs'. I only
changed to usleep when re-doing it to send some results to the list (I
decided that I needed more precision, this line of thinking was wrong,
but the results initially didn't scream that to me so I went ahead).
Going back to sleeping for numbers of seconds puts the delay back into
the correct order of magnitude.

Delays in seconds, startup time in ms.  'sync; echo 3 >
/proc/sys/vm/drop_caches' between each run.

100s  30s  10s  1s   0sno jankfs
Cold1174094774427406168201719644473
Warm1139164377823888147831389411125

Delta   3493   39663518 2037 3302  33348

graphed: http://tinyurl.com/nvh5nw

The strange result is that cold startup goes faster small for small
delays (<10 seconds).  This could be a side effect of FUSE or bindfs.
Or it could be related to what you mentioned with sleeps being
beneficial for disk accesses.

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium Linux 64-bit

2009-08-21 Thread Joel Stanley

On Fri, Aug 21, 2009 at 01:14, Dean McNamee wrote:
>
> The v8 team did some amazing work this quarter building a working
> 64-bit port.  After a handful of changes on the Chromium side, I've
> had Chromium Linux building on 64-bit for the last few weeks.

This is awesome. You should be knighted.

Cheers,

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Chromium / Google Summer of Code

2009-08-23 Thread Joel Stanley

On Sat, Aug 22, 2009 at 07:31, Lei Zhang wrote:
>
> With the Google Summer of Code program winding down, I'm curious how
> our GSoC participants are doing. Can the students and their mentors
> share their experiences? (Assuming you're all done with evaluations
> and all that.)

My project was 'Forging a better Cr on Linux', and Dean was my mentor.

I had an eye on doing performance/memory usage work motivated by my
attempts to run Chromium on the Beagleboard; an ARM system with 128MB
of RAM.  Chromium works and you can come along to OSDC
(http://2009.osdc.com.au) for my talk "There's something on my ARM"
for all the details :)

I didn't get as much done as I would have liked as I was attending
classes and sitting exams throughout my "Summer" of Code, a downside
of being a student from the southern hemisphere.  This means I'm going
to stick around the project to continue working on things I'm
interested in.

(For my record as much as anyone else) here is a summary of the
patches I wrote, in chronological order:

== Scale backing store cache size ==
This would scale the number of DIBs stored based on the system RAM.
It's since been replaced by a more complex algorithm.

== Set process name on Linux ==
This was to help distinguish the renderer from the browser (and the
zygote, which was just appearing at the time).  It was reverted as it
broke the UI tests which iterate over the process name.  I did not
resubmit as 'ps f' provides the same information for less lines of
code.

== Jankfs ==
An idea Dean had; write a FUSE filesystem to simluate slow and
unreliable storage.  See
http://groups.google.com/group/chromium-dev/browse_thread/thread/59b0440255c87ed3

== ARM build ==
The tree had built for ARM at some point in the past but had since
bitrotted.  I went through building a toolchain, and then a root
filesystem, and found 3 gcc ICE (internal compiler errors) on the way.
 I then made a bunch of changes in working towards building and
running Chromium on the Beagleboard:

  * Hide x86 assembly in the seccomp and chroot sandboxes from the ARM build
  * A Skia build fix
  * v8 patch for targeting the ARMv7 Cortex-A8 (found on the beagleboard)
  * Most significantly, re-wrote v8.gyp to make cross-compiling possible

For instructions on building see
http://code.google.com/p/chromium/wiki/LinuxChromiumArm

== Memory usage in task manager on Linux ==
Calculates the memory usage of each process.  This is committed and
working, but the API needs to be re-worked to be less Windows-like
before about:memory is ready for Linux.  See
http://codereview.chromium.org/159777

== Fix proxy settings for Gnome >=2.26 ==
Newer versions of Gnome use a different binary name, this made the
"Change proxy settings" button work for both.

== Add ctrl+w accelerator to close bookmark manager for linux ==

== Fix PR_ImplodeTime for Linux x64 ==
This was one of the last patches to make the chrome tree compile for
x64 without patches, building on Dean's work.  Beware the 2038 bug.

== One liners ==
  * gcc-4.3 / 4.4 build fixes
  * gitignore updates
  * window icons

According to the logs I wrote 22 patches.

Despite having been around open source projects for a number of years,
Chroimum's development process taught me many new things.  Having code
review for all changes made was a new to me, and line by line review
is great at ensuring I got detailed feedback.

Dean's mentoring was the most valuable part of the experience. He was
great at answering questions and explaining the concepts I was not
familiar with.  Having the ability to communicate via IM made this
very easy and I would encourage mentors and students to follow this
setup in future years.

Thanks to Dean for mentoring me, and everyone else who reviewed and
committed my patches.

Cheers,

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: private VM field on the about:memory page

2009-08-24 Thread Joel Stanley

Hello,

On Mon, Aug 24, 2009 at 22:48, Anand Mistry wrote:

> Also, in general, how useful is knowing VM size considering it's not
> necessarily corollated with actual memory usage?

I chatted with a few people when doing doing my memory work.  Based on
this, I think we should look at two criteria for what to display on
the Linux port:

 - what we can measure accurately
 - information that will be useful to the user

I don't think there is any use in showing the user the VM size.  If a
dev needs it, he can use top(1).

Also, by not trying to display the exact same columns as windows does,
hopefully there will be fewer uninformed comparisons of the numbers
between platforms.

Cheers,

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Cross-compiling on ARM

2009-08-25 Thread Joel Stanley

On Tue, Aug 25, 2009 at 17:06, Lei Zhang wrote:

> Only x86 and x86_64 were supported at the time gold was originally
> released. Does it support ARM yet?

Yes, gold can link ARM binaries as of a few months ago.  I have used
it in my cross compiling.

Ubuntu is shipping it it in Karmic (for ARM, as well as the x86
architectures) in the binutils-gold package.

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Valgrind + 64bit binaries

2009-09-16 Thread Joel Stanley

Hello,

While attempting to run x64 unit_tests under valgrind I am hitting an error:

vex: priv/guest_amd64_toIR.c:14600 (disInstr_AMD64_WRK): Assertion `sz
== 2 || sz == 4' failed.
vex storage: T total 4600074960 bytes allocated
vex storage: P total 816 bytes allocated

valgrind: the 'impossible' happened:
   LibVEX called failure_exit().
==25306==at 0x3802ADC4: report_and_quit (m_libcassert.c:145)
==25306==by 0x3802AE29: panic (m_libcassert.c:227)
==25306==by 0x3802AEA2: vgPlain_core_panic_at (m_libcassert.c:232)
==25306==by 0x3802AEC1: vgPlain_core_panic (m_libcassert.c:237)
==25306==by 0x380433F2: failure_exit (m_translate.c:674)
==25306==by 0x380B2AE8: vex_assert_fail (main_util.c:220)
==25306==by 0x38117CCE: disInstr_AMD64_WRK (guest_amd64_toIR.c:14600)
==25306==by 0x3811BB42: disInstr_AMD64 (guest_amd64_toIR.c:16116)
==25306==by 0x380C0BA1: bb_to_IR (guest_generic_bb_to_IR.c:229)
==25306==by 0x380B135C: LibVEX_Translate (main_main.c:420)
==25306==by 0x380410B5: vgPlain_translate (m_translate.c:1517)
==25306==by 0x38062F68: vgPlain_scheduler (scheduler.c:844)
==25306==by 0x3808AF74: run_a_thread_NORETURN (syswrap-linux.c:91)

Has anyone had success valgrinding 64bit binaries?

Cheers,

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: [linux] user feedback one month in

2009-09-20 Thread Joel Stanley

On Mon, Sep 21, 2009 at 12:22, Elliot Glaysher (Chromium)
 wrote:
>
> On Sun, Sep 20, 2009 at 7:43 PM, Evan Martin  wrote:
>> - CSS occasionally lost while browsing
>> My response: I think I've seen this too, but I had been assuming it's
>> site glitches.  Does this ring any bells for anyone?
>
> I see this at least twice a day on my home connection. A site will
> load except for the corresponding CSS. There doesn't appear to be a
> pattern to it.

I see it occasionally too.

While we're on vague bug reports, I often have images partially load
and then stop, never to complete.  It doesn't happen all the time, but
I have seen it often enough to suspect something is up.  Is there a
way to see what's going on when this happens to perhaps narrow this
down?

I suspected both problems might be related to being 250ms+ away from
the internet, but have no evidence to back that up.

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: [linux] user feedback one month in

2009-09-20 Thread Joel Stanley

On Mon, Sep 21, 2009 at 15:02, Peter Kasting  wrote:

> You're referring to crbug.com/406.  This is a nasty bug, but it doesn't kick
> in until you're several megabytes into a resource, so I doubt it is the
> cause of the "images partially load" issue.

I'd agree, I've been seeing the images issue for a while now.  I
opened http://crbug.com/22470 and added more (still vague) details.

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: [FYI] Build errors while building Chromium with gcc 4.4.

2009-11-01 Thread Joel Stanley

2009/11/2 Yuta Kitamura :

> IIRC specifying 'gcc_version': '44' does the same thing as above. This might
> be better than specifying 'no_strict_aliasing' directly.

Ah, you bet me to it.  You're right; gcc_version is used to only
enable -fno-strict-aliasing when building v8.

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: [FYI] Build errors while building Chromium with gcc 4.4.

2009-11-02 Thread Joel Stanley

2009/11/2 Hironori Bono (坊野 博典) :
> 1. Creating a file "~/.gyp/inclulde.gypi'.
> 2. Adding a following lines to the file.
>
>  {
>'variables': {
>  'no_strict_aliasing': 1
>}
>  }

If you're only building chrome, not the unit_tests target, you can
instead define gcc_version to 44.  This is picked up in v8.gyp to
enable the appropriate flags, but leaves strict aliasing on for the
rest of chrome.

 {
   'variables': {
 'gcc_version': 44,
   }
 }

I figure this is a better option as regressions will be caught as they
are introduced.

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Multiple constrained windows

2009-11-07 Thread Joel Stanley

On Sun, Nov 8, 2009 at 16:48, Nico Weber  wrote:

> some pages try to show multiple http auth dialogs at the same time (
> one example is in http://crbug.com/26900 ). On linux, that happens to
> work fine, but on OS X it doesn't. I could change the OS X code to
> queue constrained windows and show only one window at a time per tab,
> or I could do the same thing for all platforms by putting the code in
> tab_contents. Any opinions out there?

As a user of HTTP auth dialogs for proxy authentication on Linux, I
would appreciate changing the behaviour to only showing the window
once.

In fact, it would be better if there was only one auth window shown
for the entire browser, but this is unique to the http proxy case -
you don't want it when it's only one site requesting authentication.

Joel

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



Re: [chromium-dev] skia floating point

2009-11-17 Thread Joel Stanley
On Wed, Nov 18, 2009 at 05:23, Antoine Labour  wrote:
> That's really a question for the Android team, not Chromium...
> As far as Chrome's use of Skia, if you compile for ARMv7, you'll get NEON
> acceleration when available.

Except that the tree won't build for ARM, because we don't have a
buildbot, so it regresses all the time.

I'm in the midst of fixing the latest round of issues (reviews have
gone out, some have hit the tree).  Who can I poke to get an ARM
buildbot set up so that once the tree builds again it has a chance of
staying that way?

Joel

-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev


[chromium-dev] Re: Building chromium for arm--erroring out

2009-12-09 Thread Joel Stanley
On Thu, Dec 10, 2009 at 05:14, Sofia Tahseen  wrote:

> /home/adas/0_Data/0_Lin/091203_Chromium_OS/toolchain/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld:
> skipping incompatible
> /home/adas/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sys-root/usr/lib/librt.so
> when searching for -lrt

The errors are indicative of trying to link against libraries from a
different platform.  To confirm: check the output of

 $ 'file 
/home/adas/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sys-root/usr/lib/librt.so

I suspect it will tell you it's a symbolic link to /lib/librt.so.1,
which itself is a symbolic link to
/lib/librt-2.10.2.so - note these paths are relative to /, not to your
sysroot directory.

You have two slightly solutions
 - adjust the symlinks in sys-root/usr/lib so they point to the files
in sys-root//lib
 - replace the smymlinks with the actual libraries, ie copy files from
sys-root/lib to sys-root/usr/lib

I would be happy to hear a neater solution for this, but the above
worked for me.

Cheers,

Joel

-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev


[chromium-dev] Re: Building chromium for arm--erroring out

2009-12-10 Thread Joel Stanley
On Fri, Dec 11, 2009 at 04:08, Sofia Tahseen  wrote:
> You are so right, Joel... I corrected my .so and now I could build the
> chrome browser ...finally!!

> I copied the whole /src/out/Release directory

While it's not important, that is unnecessary.  This directory
contains all of the object code, you only need the final binary.
Copying the following list of files should be sufficient, and save you
some time:

 chrome
 chrome.pak
 libffmpegsumo.so
 resources/
 locales/
 chrome-wrapper

> to my jaunty on the BeagleBoard(256MB RAM). I try to launch chrome through:
> ./chrome
> It starts up chrome, and then immediately kills chrome. I get an Illegal
> Instruction.

Jaunty targets the ARMv5 ISA, and you are building Chromium for ARMv7
(by including the armv7=1 flag).  I suspect you need to do one of the
following (not both):

 - run Karmic, which is built for ARMv7, on your BeagleBoard
 - omit the armv7=1 flag when building Chromium

As a data point: I regularly build and run Chromium targeting thumb2
(armv7=1 arm_thumb=1) on my BeagleBoard (RevB, 128MB RAM) running
Ubuntu Karmic.  It starts and can browse in multiple tabs.

Joel

-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev


[chromium-dev] ARM Buildbot

2009-12-15 Thread Joel Stanley
On Wed, Dec 16, 2009 at 08:11, Antoine Labour  wrote:
> We now have a buildbot for it (thanks bradn!), see
>  http://build.chromium.org/buildbot/waterfall/builders/Chromium%20Arm

And it's on the main waterfall too.

Thanks!

Joel

-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev


[chromium-dev] Browser power use

2009-12-16 Thread Joel Stanley
Hello Chromium,

Continuing with my interest in Chromium's effect on battery life I've
been playing with an ARM build of Chromium on the BeagleBoard, with
power instrumentation.  I've taken power measurements showing Firefox
and Chromium at cold start, warm start and loading Gmail.

 http://jms.id.au/wiki/TheresSomethingOnMyArm

I'm currently working on getting kernel power management for the
device working, which will give a better indication of how idle the
system really is.  With pm support the system on chip will power
itself down when the system is truly idle, opposed to not doing much.

Joel

-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev