From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Scott James Remnant <keybuk@google.com>
Cc: intel-gfx@lists.freedesktop.org,
"Stéphane Marchesin" <marcheu@google.com>,
"Daniel Stone" <daniels@collabora.com>
Subject: Re: i915_init takes a full second of kernel init time
Date: Tue, 13 Dec 2011 14:01:29 -0800 [thread overview]
Message-ID: <20111213140129.7ddc9724@jbarnes-desktop> (raw)
In-Reply-To: <CAHZ1yCn4R+95o3KcLzD7+dcM-7kK3U=PRw2VKRTw6sbNcDPobA@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 2746 bytes --]
On Tue, 13 Dec 2011 13:34:38 -0800
Scott James Remnant <keybuk@google.com> wrote:
> On Tue, Dec 13, 2011 at 12:02 PM, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> > On Tue, 13 Dec 2011 11:55:06 -0800
> > Scott James Remnant <keybuk@google.com> wrote:
> >
> >> I've been investigating Chrome OS boot time and noticed the anomaly
> >> where i915_init takes up a considerable amount of kernel startup time,
> >> one second in fact. I've attached a full dmesg with drm.debug=0xff for
> >> analysis at Daniel's suggestion.
> >
> > I'm not surprised... we haven't optimized init time in awhile and lots
> > of delays have crept in.
> >
> > What kind of panel does this laptop have? Can you enable drm debugging
> > (drm.debug=1 on the boot line) and see where the big delays are in
> > modesetting?
> >
> Is this different to drm.debug=0xff ?
Should be the same... and now I look again and see you already attached
it, doh!
Looks like there are a couple of big jumps:
[ 0.899057] [drm:intel_crtc_init], swapping pipes & planes for FBC
[ 0.952613] [drm:drm_sysfs_connector_add], adding "LVDS-1" to sysfs
Between these two calls, we do the output setup stuff in i915. There
are likely some delays there due to trying to fetch the EDID.
[ 0.952846] [drm:intel_panel_set_backlight], set backlight PWM = 0
[ 1.206060] [drm:i915_get_vblank_counter], trying to get vblank count for disabled pipe A
Not sure where this is coming from offhand...
[ 1.206153] [drm:pineview_update_wm], Self-refresh is disabled
[ 1.214189] [drm:init_status_page], render ring hws offset: 0x00000000
This looks like a mode set or CRTC disable happened before we
initialized the status page.
[ 1.239347] [drm:drm_mode_debug_printmodeline], Modeline 8:"1280x800" 60 70700 1280 1296 1344 1440 800 801 804 818 0x48 0xa
[ 1.273051] [drm:i9xx_update_plane], Writing base 00030000 00000000 0 0 5120
Looks like a mode set occurred, that'll also take awhile.
[ 1.273758] [drm:intel_lvds_enable], applying panel-fitter: 8, 0
[ 1.673051] [drm:intel_panel_set_backlight], set backlight PWM = 13046
So it's an LVDS machine... this is probably part of the LVDS mode set.
We had some async code to take all of this out of the boot time
critical path at least... I thought Chris merged them long ago but I
guess they were dropped. Chris?
In general, we can put a lot of the stuff we do into delayed work
handlers; e.g. when we shut things off we're often supposed to wait for
a full frame (i.e. the next vblank) before doing anything else. This
could be done with a semaphore and delayed work though to keep things
snappy.
--
Jesse Barnes, Intel Open Source Technology Center
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2011-12-13 22:01 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-13 19:55 i915_init takes a full second of kernel init time Scott James Remnant
2011-12-13 20:02 ` Jesse Barnes
2011-12-13 21:34 ` Scott James Remnant
2011-12-13 22:01 ` Jesse Barnes [this message]
2011-12-13 22:21 ` Chris Wilson
2011-12-15 0:38 ` Scott James Remnant
2011-12-15 10:38 ` Chris Wilson
2011-12-15 17:48 ` Keith Packard
2011-12-15 21:48 ` Scott James Remnant
2011-12-15 22:22 ` Keith Packard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111213140129.7ddc9724@jbarnes-desktop \
--to=jbarnes@virtuousgeek.org \
--cc=daniels@collabora.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=keybuk@google.com \
--cc=marcheu@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox