• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Shark on MacBook Air
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Shark on MacBook Air


  • Subject: Re: Shark on MacBook Air
  • From: Rick Altherr <email@hidden>
  • Date: Wed, 20 Feb 2008 11:21:40 -0800


On Feb 20, 2008, at 10:45 AM, David Dunham wrote:

I started doing some performance analysis of a game that uses OpenGL, and happened to be using a MacBook Air. I'm seeing results very different than I'd expect:

	0.0%	81.8%	mach_kernel	 dtrace_get_cpu_int_stack_top

Most of this time is in

0.1% 79.8% com.apple.driver.AppleIntelGMAX3100 IOIntel965GLContext::clientMemoryForType(unsigned long, unsigned long*, IOMemoryDescriptor**)

So maybe integrated video (as opposed to a separate card) is sucking up all the CPU. But the part that seems surprising is that it's in dtrace. 1) I thought that was supposed to be low overhead; 2) I've never seen Shark report a lot of time spent gathering performance data

Is this normal?

David Dunham
Voice/Fax: 206 783 7404             http://www.pensee.com/dunham/
Imagination is more important than knowledge. -- Albert Einstein

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
@apple.com


This email sent to email@hidden


Without more of the tree, I can't say much as to what the root cause it. However, it's likely that your kernel is stripped so Shark is guessing as to which symbol contains the address in the call stack. dtrace_get_cpu_int_stack_top was likely the closest symbol to the address.

You might ask why we just don't report unknown. The symbol table for the linker doesn't specify ranges for symbols, but only start addresses. All the debug tools that deal with symbols end up getting the start addresses for each symbol and then "expand" them to determine what is a likely end address. DWARF actually provides (or at least can provide) end addresses for symbols, so no guessing is needed.

In this specific case, the debug information for the kernel has been stripped, so we rely solely on the linker symbol table. Thus we guess and on a stripped binary, it can be quite wrong.

--
Rick Altherr
Architecture and Performance Group
email@hidden


Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Shark on MacBook Air
      • From: David Dunham <email@hidden>
References: 
 >Shark on MacBook Air (From: David Dunham <email@hidden>)

  • Prev by Date: Per-source-file flags in Xcode 3?
  • Next by Date: Re: SCM in Xcode 3.0
  • Previous by thread: Shark on MacBook Air
  • Next by thread: Re: Shark on MacBook Air
  • Index(es):
    • Date
    • Thread