Repository navigation
The first power line is preceded by the CPU's tiers (hw.perflevelN name, cores, L2) - #1695
Open
oliverames wants to merge 2 commits into
Open
oliverames wants to merge 2 commits into
oliverames wants to merge 2 commits into
Conversation
oliverames
force-pushed
the
cpu-tier-log
branch
from
November 7, 2026 20:20
c7499ed to
389e193
Compare
2 of 3 tasks
…me, cores, L2), so a run's performance-core share reads against its chip The power line's 'on performance cores' share is task_ptime, and Apple renamed its core tiers with the M5 (the old performance cores are 'super', a new middle tier is 'performance'), so the share does not say which tier it counts on a given chip. An iPhone 19,4 logs Performance 2 cores, Efficiency 4.
oliverames
force-pushed
the
cpu-tier-log
branch
from
November 10, 2026 03:13
389e193 to
4ae750a
Compare
oliverames
pushed a commit
to oliverames/nxnative
that referenced
this pull request
Nov 10, 2026
…me on an iPhone, and the phone restarts some minutes later (Mario Kart World 1.8.0, iOS 27.3 beta); open On an iPhone 19,4 the picture stopped 2 to 3 s into a race, 184 s after launch, with the overlay at 0 fps, the process alive, no [RED] line and no GPU error. Every thread waited and none spun. The state dump has the replay thread in iokit_user_client_trap under res_commit (pool_res, with g_mu held by its caller and g_res_mu across the call) and the GPU's completion queue waiting for a mutex in post_complete, with the main fence at submitted 206262 / completed 206256. Ending the app did not end the process. The system's stack report 15 minutes later still has it with one thread, NVN queue replay, in an uninterruptible kernel wait with a read-write lock held and a kernel thread blocked on it, and the phone at 7.2 GB wired and 34 MB free. The phone then restarted itself. It happened twice in four runs of one build (main 04811a6 with PRs seedds#1709, seedds#1695, seedds#1262, seedds#1599 and seedds#1713 merged): in that race, and an hour later at the title's demo with no button pressed, 353 s after launch, with the same thread state. Both came in a scene load (1,840 allocations added to the residency set in 678 commits in the 300 frames before the second). With main's 6f50de0 and 12a44e0 added, four races did not freeze, which is too few to say it is gone. The game makes about five residency commits a frame in a race. No fix: the entry says what was ruled out, what the host could change, and what to collect from the phone (SIGALRM for the host's dump, then systemCrashLogs). The game note links it under Open.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
The power line's "% of it on performance cores" is
task_ptime, Apple's own split. Apple renamed its core tiers with the M5 (old performance cores are now "super", a new middle tier is "performance"), so the share does not say which tier it counts on a given chip, and a drop in it (a game parked off the fast cores, as in the frame-step notes) is hard to read without knowing the chip.This logs, once before the first power line, each tier from
hw.perflevelN(name, physical and logical cores, L2) and the model:It is read-only: no behaviour changes. A note on reading the share together with
mean clockis indocs/development.md.Checked
dm/tools/tests/test_docs.pypasses.scripts/regress.py check --games: not run: the change adds log lines only.Front ends
None: no front end has to act on this.
Docs
docs/development.md(a reading guide, not a finding about one game)dmsh_chain.py --headerwas run anddm/gfx/nvn/dmsh_chain.his part of the change. Not applicable: no chain tool changed.