OK, I think I have narrowed it down to cpu::reschedule_from_interrupt(), which of course switches from one thread to another.
But let me tell you what I did before. So I tried to save a copy of zm in zcopy_zx() function in global variable. It did not help. I realized later that this test is multithreaded so that zcopy_zx() is called by client and server thread. What was interesting when I changed the number of ITERATIONS from 400 to 1 the test passed. With 2 hung and 3 and above crashed the same way.
Then I started thinking again that maybe the problem is with thread switching. So I pursued an experiment where I compiled all sources but code/sched.cc with '-O0' and core/sched.cc with '-02' like release build. And voila, all the tests that were failing now pass. So then I thought that maybe the culprit is switch_to() where we have some critical assembly. So I compiled core/sched.cc with '-O0' but switch_to() with '-02' using the '__attribute__ ((optimize("O2")))' annotation - this did not help but crash looked different. So then I pinpointed just reschedule_from_interrupt() and made it compile with '-O2' (so everything else is with '-O0) and now the tests are working.
So might be going on? For sure this is a very critical function where we change thread and TLS and call switch_to().
Dump of assembler code for function _ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE:
0x00000000402d75b4 <+0>: stp x29, x30, [sp, #-128]!
0x00000000402d75b8 <+4>: mov x29, sp
0x00000000402d75bc <+8>: stp x19, x20, [sp, #16]
0x00000000402d75c0 <+12>: mov x19, x0
0x00000000402d75c4 <+16>: and w0, w1, #0xff
0x00000000402d75c8 <+20>: stp x21, x22, [sp, #32]
0x00000000402d75cc <+24>: adrp x22, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d75d0 <+28>: add x22, x22, #0x540
0x00000000402d75d4 <+32>: stp x23, x24, [sp, #48]
0x00000000402d75d8 <+36>: mrs x24, tpidr_el0
0x00000000402d75dc <+40>: stp x25, x26, [sp, #64]
0x00000000402d75e0 <+44>: stp x27, x28, [sp, #80]
0x00000000402d75e4 <+48>: str w0, [sp, #100]
0x00000000402d75e8 <+52>: add x0, x22, #0x510
0x00000000402d75ec <+56>: str x2, [sp, #104]
0x00000000402d75f0 <+60>: bl 0x402d45d0 <(anonymous namespace)::tracepointv<21, std::tuple<>(), identity_assign<> >::operator()(void)>
0x00000000402d75f4 <+64>: add x0, x24, #0x0, lsl #12
0x00000000402d75f8 <+68>: add x0, x0, #0x70
0x00000000402d75fc <+72>: ldr w0, [x0]
0x00000000402d7600 <+76>: cmp w0, #0x1
0x00000000402d7604 <+80>: b.hi 0x402d79a8 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1012> // b.pmore
0x00000000402d7608 <+84>: add x20, x24, #0x0, lsl #12
0x00000000402d760c <+88>: add x20, x20, #0x90
0x00000000402d7610 <+92>: mov x0, x19
0x00000000402d7614 <+96>: strb wzr, [x20, #24]
0x00000000402d7618 <+100>: bl 0x402d64a0 <_ZN5sched3cpu23handle_incoming_wakeupsEv>
0x00000000402d761c <+104>: bl 0x401f2450 <_ZN3osv5clock6uptime3nowEv>
0x00000000402d7620 <+108>: mov x23, x0
0x00000000402d7624 <+112>: ldr x1, [x19, #5912]
0x00000000402d7628 <+116>: str x23, [x19, #5912]
0x00000000402d762c <+120>: ldr x20, [x20]
0x00000000402d7630 <+124>: sub x1, x23, x1
0x00000000402d7634 <+128>: cmp x1, #0x0
0x00000000402d7638 <+132>: mov x0, #0x2710 // #10000
0x00000000402d763c <+136>: csel x1, x1, x0, gt
0x00000000402d7640 <+140>: ldr x0, [x20, #136]
0x00000000402d7644 <+144>: add x0, x0, #0x14
0x00000000402d7648 <+148>: ldar w21, [x0]
0x00000000402d764c <+152>: cmp w21, #0x6
0x00000000402d7650 <+156>: b.eq 0x402d7988 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+980> // b.none
0x00000000402d7654 <+160>: ldr x2, [x20, #376]
0x00000000402d7658 <+164>: add x26, x20, #0x78
0x00000000402d765c <+168>: mov x0, x26
0x00000000402d7660 <+172>: add x2, x2, x1
0x00000000402d7664 <+176>: str x2, [x20, #376]
0x00000000402d7668 <+180>: bl 0x402d6710 <_ZN5sched14thread_runtime7ran_forENSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE>
0x00000000402d766c <+184>: cmp w21, #0x5
0x00000000402d7670 <+188>:
b.ne 0x402d7868 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+692> // b.any
0x00000000402d7674 <+192>: ldr x0, [x19, #4184]
0x00000000402d7678 <+196>: cbz x0, 0x402d78c0 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+780>
0x00000000402d767c <+200>: ldr w0, [sp, #100]
0x00000000402d7680 <+204>: cbnz w0, 0x402d78e4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+816>
0x00000000402d7684 <+208>: ldr x21, [x19, #4200]
0x00000000402d7688 <+212>: add x27, x19, #0x1, lsl #12
0x00000000402d768c <+216>: ldr s0, [x26, #4]
0x00000000402d7690 <+220>: sub x21, x21, #0xb8
0x00000000402d7694 <+224>: ldr s1, [x21, #4]
0x00000000402d7698 <+228>: fcmpe s1, s0
0x00000000402d769c <+232>:
b.gt 0x402d7940 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+908>
0x00000000402d76a0 <+236>: mov x0, x26
0x00000000402d76a4 <+240>: bl 0x402d69d0 <_ZN5sched14thread_runtime19hysteresis_run_stopEv>
0x00000000402d76a8 <+244>: ldr x0, [x20, #136]
0x00000000402d76ac <+248>: mov w1, #0x6 // #6
0x00000000402d76b0 <+252>: add x0, x0, #0x14
0x00000000402d76b4 <+256>: stlr w1, [x0]
0x00000000402d76b8 <+260>: mov x1, x20
0x00000000402d76bc <+264>: mov x0, x19
0x00000000402d76c0 <+268>: bl 0x402d4e80 <_ZN5sched3cpu7enqueueERNS_6threadE>
0x00000000402d76c4 <+272>: add x0, x22, #0x580
0x00000000402d76c8 <+276>: bl 0x402d4654 <(anonymous namespace)::tracepointv<17, std::tuple<>(), identity_assign<> >::operator()(void)>
0x00000000402d76cc <+280>: add x0, x20, #0x168
0x00000000402d76d0 <+284>: mov x1, #0x1 // #1
0x00000000402d76d4 <+288>: bl 0x402dbd70 <_ZN5sched6thread12stat_counter4incrEm>
0x00000000402d76d8 <+292>: ldr x25, [x27, #104]
0x00000000402d76dc <+296>: mov x2, #0x1058 // #4184
0x00000000402d76e0 <+300>: add x8, sp, #0x78
0x00000000402d76e4 <+304>: add x0, x19, x2
0x00000000402d76e8 <+308>: sub x21, x25, #0x130
0x00000000402d76ec <+312>: add x1, sp, #0x70
0x00000000402d76f0 <+316>: str x25, [sp, #112]
0x00000000402d76f4 <+320>: bl 0x402dc690 <_ZN5boost9intrusive11bstree_implINS0_8mhtraitsIN5sched6threadENS0_15set_member_hookIJEEEXadL_ZNS4_14_runqueue_linkEEEEEvNS3_22thread_runtime_compareEmLb1ELNS0_10algo_typesE5EvE5eraseENS0_13tree_iteratorIS7_Lb1EEE>
0x00000000402d76f8 <+324>: mov x0, x21
0x00000000402d76fc <+328>: mov x1, x23
0x00000000402d7700 <+332>: ldr x2, [x21, #376]
0x00000000402d7704 <+336>: bl 0x402dbd80 <_ZN5sched6thread21cputime_estimator_setENSt6chrono10time_pointIN3osv5clock6uptimeENS1_8durationIlSt5ratioILl1ELl1000000000EEEEEES9_>
0x00000000402d7708 <+340>: ldur x0, [x25, #-168]
0x00000000402d770c <+344>: add x0, x0, #0x14
0x00000000402d7710 <+348>: ldar w0, [x0]
0x00000000402d7714 <+352>: cmp w0, #0x6
0x00000000402d7718 <+356>:
b.ne 0x402d79c8 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1044> // b.any
0x00000000402d771c <+360>: ldur s1, [x25, #-180]
0x00000000402d7720 <+364>: add x0, x22, #0x5f0
0x00000000402d7724 <+368>: ldr s0, [x26, #4]
0x00000000402d7728 <+372>: mov x1, x21
0x00000000402d772c <+376>: sub x28, x25, #0xb8
0x00000000402d7730 <+380>: bl 0x402d4880 <(anonymous namespace)::tracepointv<10, std::tuple<sched::thread*, float, float>(sched::thread*, float, float), identity_assign<sched::thread*, float, float> >::operator()(sched::thread *, float, float)>
0x00000000402d7734 <+384>: ldr w0, [sp, #100]
0x00000000402d7738 <+388>: cbnz w0, 0x402d7890 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+732>
0x00000000402d773c <+392>: ldr x0, [x19, #5872]
0x00000000402d7740 <+396>: add x26, x25, #0x30
0x00000000402d7744 <+400>: cmp x0, x21
0x00000000402d7748 <+404>: b.eq 0x402d78ac <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+760> // b.none
0x00000000402d774c <+408>: cmp x0, x20
0x00000000402d7750 <+412>: b.eq 0x402d7904 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+848> // b.none
0x00000000402d7754 <+416>: mov x0, x26
0x00000000402d7758 <+420>: mov x1, #0x1 // #1
0x00000000402d775c <+424>: bl 0x402dbd70 <_ZN5sched6thread12stat_counter4incrEm>
0x00000000402d7760 <+428>: ldr x1, [x19, #4184]
0x00000000402d7764 <+432>: add x0, x22, #0x420
0x00000000402d7768 <+436>: bl 0x402d4c30 <(anonymous namespace)::tracepointv<16, std::tuple<long unsigned int>(long unsigned int), identity_assign<long unsigned int> >::operator()(unsigned long)>
0x00000000402d776c <+440>: ldur x0, [x25, #-168]
0x00000000402d7770 <+444>: mov w1, #0x5 // #5
0x00000000402d7774 <+448>: add x0, x0, #0x14
0x00000000402d7778 <+452>: stlr w1, [x0]
0x00000000402d777c <+456>: mov x0, x28
0x00000000402d7780 <+460>: bl 0x402d6954 <_ZN5sched14thread_runtime20hysteresis_run_startEv>
0x00000000402d7784 <+464>: cmp x20, x21
0x00000000402d7788 <+468>: b.eq 0x402d79e8 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1076> // b.none
0x00000000402d778c <+472>: ldr x0, [x20, #136]
0x00000000402d7790 <+476>: add x0, x0, #0x14
0x00000000402d7794 <+480>: ldr w0, [x0]
0x00000000402d7798 <+484>: cmp w0, #0x6
0x00000000402d779c <+488>: b.eq 0x402d7878 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+708> // b.none
0x00000000402d77a0 <+492>: mov x1, #0x16b8 // #5816
0x00000000402d77a4 <+496>: add x20, x19, x1
0x00000000402d77a8 <+500>: mov x0, x20
0x00000000402d77ac <+504>: bl 0x402d5e20 <_ZN5sched10timer_base6cancelEv>
0x00000000402d77b0 <+508>: ldr w0, [sp, #100]
0x00000000402d77b4 <+512>: cbnz w0, 0x402d7854 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+672>
0x00000000402d77b8 <+516>: ldr x0, [x19, #4184]
0x00000000402d77bc <+520>: cbz x0, 0x402d77d8 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+548>
0x00000000402d77c0 <+524>: ldr x1, [x27, #104]
0x00000000402d77c4 <+528>: mov x0, x28
0x00000000402d77c8 <+532>: ldur s0, [x1, #-180]
0x00000000402d77cc <+536>: bl 0x402d6a74 <_ZNK5sched14thread_runtime10time_untilEf>
0x00000000402d77d0 <+540>: cmp x0, #0x0
0x00000000402d77d4 <+544>:
b.gt 0x402d7858 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+676>
0x00000000402d77d8 <+548>: mov x0, #0x16fa // #5882
0x00000000402d77dc <+552>: add x19, x19, x0
0x00000000402d77e0 <+556>: ldrb w0, [x19]
0x00000000402d77e4 <+560>: tst w0, #0xff
0x00000000402d77e8 <+564>: ldrb w0, [x21, #272]
0x00000000402d77ec <+568>: cset w1, ne // ne = any
0x00000000402d77f0 <+572>: cmp w1, w0
0x00000000402d77f4 <+576>: b.eq 0x402d77fc <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+584> // b.none
0x00000000402d77f8 <+580>: strb w0, [x19]
0x00000000402d77fc <+584>: add x1, x27, #0x6f9
0x00000000402d7800 <+588>: mov w0, #0x0 // #0
0x00000000402d7804 <+592>: bl 0x40478b00 <__aarch64_swp1_acq_rel>
0x00000000402d7808 <+596>: tst w0, #0xff
0x00000000402d780c <+600>:
b.ne 0x402d78b8 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+772> // b.any
0x00000000402d7810 <+604>: add x24, x24, #0x0, lsl #12
0x00000000402d7814 <+608>: add x24, x24, #0x90
0x00000000402d7818 <+612>: mov x0, x21
0x00000000402d781c <+616>: bl 0x402d4c60 <_ZN5sched6thread9switch_toEv>
0x00000000402d7820 <+620>: ldr x0, [x24, #8]
0x00000000402d7824 <+624>: ldr x0, [x0, #5904]
0x00000000402d7828 <+628>: cbz x0, 0x402d7838 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+644>
0x00000000402d782c <+632>: bl 0x402d7a60 <_ZN5sched6thread7destroyEv>
0x00000000402d7830 <+636>: ldr x0, [x24, #8]
0x00000000402d7834 <+640>: str xzr, [x0, #5904]
0x00000000402d7838 <+644>: ldp x19, x20, [sp, #16]
0x00000000402d783c <+648>: ldp x21, x22, [sp, #32]
0x00000000402d7840 <+652>: ldp x23, x24, [sp, #48]
0x00000000402d7844 <+656>: ldp x25, x26, [sp, #64]
0x00000000402d7848 <+660>: ldp x27, x28, [sp, #80]
0x00000000402d784c <+664>: ldp x29, x30, [sp], #128
0x00000000402d7850 <+668>: ret
0x00000000402d7854 <+672>: ldr x0, [sp, #104]
0x00000000402d7858 <+676>: add x1, x0, x23
0x00000000402d785c <+680>: mov x0, x20
0x00000000402d7860 <+684>: bl 0x402d5bf0 <_ZN5sched10timer_base3setENSt6chrono10time_pointIN3osv5clock6uptimeENS1_8durationIlSt5ratioILl1ELl1000000000EEEEEE>
0x00000000402d7864 <+688>: b 0x402d77d8 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+548>
0x00000000402d7868 <+692>: add x27, x19, #0x1, lsl #12
0x00000000402d786c <+696>: mov x0, x26
0x00000000402d7870 <+700>: bl 0x402d69d0 <_ZN5sched14thread_runtime19hysteresis_run_stopEv>
0x00000000402d7874 <+704>: b 0x402d76d8 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+292>
0x00000000402d7878 <+708>: ldr x0, [x19, #5872]
0x00000000402d787c <+712>: cmp x0, x20
0x00000000402d7880 <+716>: b.eq 0x402d77a0 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+492> // b.none
0x00000000402d7884 <+720>: mov x0, x28
0x00000000402d7888 <+724>: bl 0x402d6a34 <_ZN5sched14thread_runtime26add_context_switch_penaltyEv>
0x00000000402d788c <+728>: b 0x402d77a0 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+492>
0x00000000402d7890 <+732>: mov x0, x19
0x00000000402d7894 <+736>: mov x1, x20
0x00000000402d7898 <+740>: bl 0x402d4e80 <_ZN5sched3cpu7enqueueERNS_6threadE>
0x00000000402d789c <+744>: add x26, x25, #0x30
0x00000000402d78a0 <+748>: ldr x0, [x19, #5872]
0x00000000402d78a4 <+752>: cmp x0, x21
0x00000000402d78a8 <+756>:
b.ne 0x402d774c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+408> // b.any
0x00000000402d78ac <+760>: add x0, x22, #0x660
0x00000000402d78b0 <+764>: bl 0x402d46e0 <(anonymous namespace)::tracepointv<8, std::tuple<>(), identity_assign<> >::operator()(void)>
0x00000000402d78b4 <+768>: b 0x402d7754 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+416>
0x00000000402d78b8 <+772>: bl 0x401f8c50 <_ZN3mmu15flush_tlb_localEv>
0x00000000402d78bc <+776>: b 0x402d7810 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+604>
0x00000000402d78c0 <+780>: mov x4, #0x16b8 // #5816
0x00000000402d78c4 <+784>: add x0, x19, x4
0x00000000402d78c8 <+788>: ldp x19, x20, [sp, #16]
0x00000000402d78cc <+792>: ldp x21, x22, [sp, #32]
0x00000000402d78d0 <+796>: ldp x23, x24, [sp, #48]
0x00000000402d78d4 <+800>: ldp x25, x26, [sp, #64]
0x00000000402d78d8 <+804>: ldp x27, x28, [sp, #80]
0x00000000402d78dc <+808>: ldp x29, x30, [sp], #128
0x00000000402d78e0 <+812>: b 0x402d5e20 <_ZN5sched10timer_base6cancelEv>
0x00000000402d78e4 <+816>: mov x0, x26
0x00000000402d78e8 <+820>: bl 0x402d69d0 <_ZN5sched14thread_runtime19hysteresis_run_stopEv>
0x00000000402d78ec <+824>: ldr x0, [x20, #136]
0x00000000402d78f0 <+828>: mov w1, #0x6 // #6
0x00000000402d78f4 <+832>: add x0, x0, #0x14
0x00000000402d78f8 <+836>: stlr w1, [x0]
0x00000000402d78fc <+840>: add x27, x19, #0x1, lsl #12
0x00000000402d7900 <+844>: b 0x402d76c4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+272>
0x00000000402d7904 <+848>: add x0, x22, #0x6d0
0x00000000402d7908 <+852>: bl 0x402d4764 <(anonymous namespace)::tracepointv<9, std::tuple<>(), identity_assign<> >::operator()(void)>
0x00000000402d790c <+856>: mov x0, x26
0x00000000402d7910 <+860>: mov x1, #0x1 // #1
0x00000000402d7914 <+864>: bl 0x402dbd70 <_ZN5sched6thread12stat_counter4incrEm>
0x00000000402d7918 <+868>: ldr x1, [x19, #4184]
0x00000000402d791c <+872>: add x0, x22, #0x420
0x00000000402d7920 <+876>: bl 0x402d4c30 <(anonymous namespace)::tracepointv<16, std::tuple<long unsigned int>(long unsigned int), identity_assign<long unsigned int> >::operator()(unsigned long)>
0x00000000402d7924 <+880>: ldur x0, [x25, #-168]
0x00000000402d7928 <+884>: mov w1, #0x5 // #5
0x00000000402d792c <+888>: add x0, x0, #0x14
0x00000000402d7930 <+892>: stlr w1, [x0]
0x00000000402d7934 <+896>: mov x0, x28
0x00000000402d7938 <+900>: bl 0x402d6954 <_ZN5sched14thread_runtime20hysteresis_run_startEv>
0x00000000402d793c <+904>: b 0x402d778c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+472>
0x00000000402d7940 <+908>: mov x3, #0x16b8 // #5816
0x00000000402d7944 <+912>: add x19, x19, x3
0x00000000402d7948 <+916>: mov x0, x19
0x00000000402d794c <+920>: bl 0x402d5e20 <_ZN5sched10timer_base6cancelEv>
0x00000000402d7950 <+924>: ldr s0, [x21, #4]
0x00000000402d7954 <+928>: mov x0, x26
0x00000000402d7958 <+932>: bl 0x402d6a74 <_ZNK5sched14thread_runtime10time_untilEf>
0x00000000402d795c <+936>: cmp x0, #0x0
0x00000000402d7960 <+940>: b.le 0x402d7838 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+644>
0x00000000402d7964 <+944>: add x1, x0, x23
0x00000000402d7968 <+948>: mov x0, x19
0x00000000402d796c <+952>: ldp x19, x20, [sp, #16]
0x00000000402d7970 <+956>: ldp x21, x22, [sp, #32]
0x00000000402d7974 <+960>: ldp x23, x24, [sp, #48]
0x00000000402d7978 <+964>: ldp x25, x26, [sp, #64]
0x00000000402d797c <+968>: ldp x27, x28, [sp, #80]
0x00000000402d7980 <+972>: ldp x29, x30, [sp], #128
0x00000000402d7984 <+976>: b 0x402d5bf0 <_ZN5sched10timer_base3setENSt6chrono10time_pointIN3osv5clock6uptimeENS1_8durationIlSt5ratioILl1ELl1000000000EEEEEE>
0x00000000402d7988 <+980>: adrp x3, 0x4055c000
0x00000000402d798c <+984>: adrp x1, 0x4055b000
0x00000000402d7990 <+988>: adrp x0, 0x4055c000
0x00000000402d7994 <+992>: add x3, x3, #0x130
0x00000000402d7998 <+996>: add x1, x1, #0xf70
0x00000000402d799c <+1000>: add x0, x0, #0x170
0x00000000402d79a0 <+1004>: mov w2, #0xfc // #252
0x00000000402d79a4 <+1008>: bl 0x400d892c <__assert_fail(char const*, char const*, unsigned int, char const*)>
0x00000000402d79a8 <+1012>: adrp x3, 0x4055c000
0x00000000402d79ac <+1016>: adrp x1, 0x4055b000
0x00000000402d79b0 <+1020>: adrp x0, 0x4055c000
0x00000000402d79b4 <+1024>: add x3, x3, #0x130
0x00000000402d79b8 <+1028>: add x1, x1, #0xf70
0x00000000402d79bc <+1032>: add x0, x0, #0x150
0x00000000402d79c0 <+1036>: mov w2, #0xec // #236
0x00000000402d79c4 <+1040>: bl 0x400d892c <__assert_fail(char const*, char const*, unsigned int, char const*)>
0x00000000402d79c8 <+1044>: adrp x3, 0x4055c000
0x00000000402d79cc <+1048>: adrp x1, 0x4055b000
0x00000000402d79d0 <+1052>: adrp x0, 0x4055c000
0x00000000402d79d4 <+1056>: add x3, x3, #0x130
0x00000000402d79d8 <+1060>: add x1, x1, #0xf70
0x00000000402d79dc <+1064>: add x0, x0, #0x198
0x00000000402d79e0 <+1068>: mov w2, #0x127 // #295
0x00000000402d79e4 <+1072>: bl 0x400d892c <__assert_fail(char const*, char const*, unsigned int, char const*)>
0x00000000402d79e8 <+1076>: adrp x3, 0x4055c000
0x00000000402d79ec <+1080>: adrp x1, 0x4055b000
0x00000000402d79f0 <+1084>: adrp x0, 0x4055c000
0x00000000402d79f4 <+1088>: add x3, x3, #0x130
0x00000000402d79f8 <+1092>: add x1, x1, #0xf70
0x00000000402d79fc <+1096>: add x0, x0, #0x1d0
0x00000000402d7a00 <+1100>: mov w2, #0x13a // #314
0x00000000402d7a04 <+1104>: bl 0x400d892c <__assert_fail(char const*, char const*, unsigned int, char const*)>
End of assembler dump.
Here is the disassembled NOT working version (this time compiled with -O1, -O0 probably even longer):
Dump of assembler code for function _ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE:
0x00000000402d716c <+0>: stp x29, x30, [sp, #-144]!
0x00000000402d7170 <+4>: mov x29, sp
0x00000000402d7174 <+8>: stp x19, x20, [sp, #16]
0x00000000402d7178 <+12>: stp x21, x22, [sp, #32]
0x00000000402d717c <+16>: stp x23, x24, [sp, #48]
0x00000000402d7180 <+20>: stp x25, x26, [sp, #64]
0x00000000402d7184 <+24>: mov x19, x0
0x00000000402d7188 <+28>: and w24, w1, #0xff
0x00000000402d718c <+32>: mov x23, x2
0x00000000402d7190 <+36>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d7194 <+40>: ldrb w0, [x0, #2698]
0x00000000402d7198 <+44>: cbnz w0, 0x402d7284 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+280>
0x00000000402d719c <+48>: mrs x0, tpidr_el0
0x00000000402d71a0 <+52>: add x0, x0, #0x0, lsl #12
0x00000000402d71a4 <+56>: add x0, x0, #0x70
0x00000000402d71a8 <+60>: ldr w0, [x0]
0x00000000402d71ac <+64>: cmp w0, #0x1
0x00000000402d71b0 <+68>: b.hi 0x402d7304 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+408> // b.pmore
0x00000000402d71b4 <+72>: mrs x0, tpidr_el0
0x00000000402d71b8 <+76>: add x0, x0, #0x0, lsl #12
0x00000000402d71bc <+80>: add x0, x0, #0x90
0x00000000402d71c0 <+84>: strb wzr, [x0, #24]
0x00000000402d71c4 <+88>: mov x0, x19
0x00000000402d71c8 <+92>: bl 0x402d60a8 <_ZN5sched3cpu23handle_incoming_wakeupsEv>
0x00000000402d71cc <+96>: bl 0x401d4284 <_ZN5clock3getEv>
0x00000000402d71d0 <+100>: ldr x1, [x0]
0x00000000402d71d4 <+104>: ldr x1, [x1, #16]
0x00000000402d71d8 <+108>: blr x1
0x00000000402d71dc <+112>: mov x22, x0
0x00000000402d71e0 <+116>: ldr x1, [x19, #5912]
0x00000000402d71e4 <+120>: sub x1, x0, x1
0x00000000402d71e8 <+124>: str x0, [x19, #5912]
0x00000000402d71ec <+128>: cmp x1, #0x0
0x00000000402d71f0 <+132>: mov x0, #0x2710 // #10000
0x00000000402d71f4 <+136>: csel x1, x1, x0, gt
0x00000000402d71f8 <+140>: mrs x0, tpidr_el0
0x00000000402d71fc <+144>: add x0, x0, #0x0, lsl #12
0x00000000402d7200 <+148>: add x0, x0, #0x90
0x00000000402d7204 <+152>: ldr x21, [x0]
0x00000000402d7208 <+156>: ldr x0, [x21, #136]
0x00000000402d720c <+160>: add x0, x0, #0x14
0x00000000402d7210 <+164>: ldar w20, [x0]
0x00000000402d7214 <+168>: cmp w20, #0x6
0x00000000402d7218 <+172>: b.eq 0x402d732c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+448> // b.none
0x00000000402d721c <+176>: ldr x0, [x21, #376]
0x00000000402d7220 <+180>: add x0, x0, x1
0x00000000402d7224 <+184>: str x0, [x21, #376]
0x00000000402d7228 <+188>: add x25, x21, #0x78
0x00000000402d722c <+192>: mov x0, x25
0x00000000402d7230 <+196>: bl 0x402d6308 <_ZN5sched14thread_runtime7ran_forENSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE>
0x00000000402d7234 <+200>: cmp w20, #0x5
0x00000000402d7238 <+204>:
b.ne 0x402d7418 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+684> // b.any
0x00000000402d723c <+208>: ldr x0, [x19, #4184]
0x00000000402d7240 <+212>: cbz x0, 0x402d7354 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+488>
0x00000000402d7244 <+216>: cbnz w24, 0x402d78f4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1928>
0x00000000402d7248 <+220>: ldr x20, [x19, #4200]
0x00000000402d724c <+224>: ldur s1, [x20, #-180]
0x00000000402d7250 <+228>: ldr s0, [x21, #124]
0x00000000402d7254 <+232>: fcmpe s1, s0
0x00000000402d7258 <+236>:
b.gt 0x402d7364 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+504>
0x00000000402d725c <+240>: mov x0, x25
0x00000000402d7260 <+244>: bl 0x402d65b8 <_ZN5sched14thread_runtime19hysteresis_run_stopEv>
0x00000000402d7264 <+248>: ldr x0, [x21, #136]
0x00000000402d7268 <+252>: add x0, x0, #0x14
0x00000000402d726c <+256>: mov w1, #0x6 // #6
0x00000000402d7270 <+260>: stlr w1, [x0]
0x00000000402d7274 <+264>: mov x1, x21
0x00000000402d7278 <+268>: mov x0, x19
0x00000000402d727c <+272>: bl 0x402d4af0 <_ZN5sched3cpu7enqueueERNS_6threadE>
0x00000000402d7280 <+276>: b 0x402d790c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1952>
0x00000000402d7284 <+280>: mrs x21, daif
0x00000000402d7288 <+284>: msr daifset, #0x2
0x00000000402d728c <+288>: isb
0x00000000402d7290 <+292>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d7294 <+296>: ldrb w0, [x0, #2697]
0x00000000402d7298 <+300>: cbz w0, 0x402d72ec <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+384>
0x00000000402d729c <+304>: mov x1, #0x0 // #0
0x00000000402d72a0 <+308>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d72a4 <+312>: add x0, x0, #0x540
0x00000000402d72a8 <+316>: add x0, x0, #0x510
0x00000000402d72ac <+320>: bl 0x402dd5e8 <_ZN15tracepoint_base21allocate_trace_recordEm>
0x00000000402d72b0 <+324>: mov x20, x0
0x00000000402d72b4 <+328>: add x0, x0, #0x30
0x00000000402d72b8 <+332>: str x0, [sp, #112]
0x00000000402d72bc <+336>: ldr x0, [x20, #40]
0x00000000402d72c0 <+340>: tbz x0, #32, 0x402d72dc <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+368>
0x00000000402d72c4 <+344>: add x2, sp, #0x70
0x00000000402d72c8 <+348>: mov x1, x20
0x00000000402d72cc <+352>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d72d0 <+356>: add x0, x0, #0x540
0x00000000402d72d4 <+360>: add x0, x0, #0x510
0x00000000402d72d8 <+364>: bl 0x402dd56c <_ZN15tracepoint_base16do_log_backtraceEP12trace_recordRPh>
0x00000000402d72dc <+368>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d72e0 <+372>: add x0, x0, #0x540
0x00000000402d72e4 <+376>: add x0, x0, #0x510
0x00000000402d72e8 <+380>: str x0, [x20]
0x00000000402d72ec <+384>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d72f0 <+388>: add x0, x0, #0x540
0x00000000402d72f4 <+392>: add x0, x0, #0x510
0x00000000402d72f8 <+396>: bl 0x402dd3c0 <_ZN15tracepoint_base10run_probesEv>
0x00000000402d72fc <+400>: msr daif, x0
0x00000000402d7300 <+404>: b 0x402d719c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+48>
0x00000000402d7304 <+408>: str x27, [sp, #80]
0x00000000402d7308 <+412>: stp d8, d9, [sp, #96]
0x00000000402d730c <+416>: adrp x3, 0x4055b000
0x00000000402d7310 <+420>: add x3, x3, #0xc20
0x00000000402d7314 <+424>: mov w2, #0xed // #237
0x00000000402d7318 <+428>: adrp x1, 0x4055b000
0x00000000402d731c <+432>: add x1, x1, #0xa60
0x00000000402d7320 <+436>: adrp x0, 0x4055b000
0x00000000402d7324 <+440>: add x0, x0, #0xc40
0x00000000402d7328 <+444>: bl 0x400d892c <__assert_fail(char const*, char const*, unsigned int, char const*)>
0x00000000402d732c <+448>: str x27, [sp, #80]
0x00000000402d7330 <+452>: stp d8, d9, [sp, #96]
0x00000000402d7334 <+456>: adrp x3, 0x4055b000
0x00000000402d7338 <+460>: add x3, x3, #0xc20
0x00000000402d733c <+464>: mov w2, #0xfd // #253
0x00000000402d7340 <+468>: adrp x1, 0x4055b000
0x00000000402d7344 <+472>: add x1, x1, #0xa60
0x00000000402d7348 <+476>: adrp x0, 0x4055b000
0x00000000402d734c <+480>: add x0, x0, #0xc60
0x00000000402d7350 <+484>: bl 0x400d892c <__assert_fail(char const*, char const*, unsigned int, char const*)>
0x00000000402d7354 <+488>: add x0, x19, #0x1, lsl #12
0x00000000402d7358 <+492>: add x0, x0, #0x6b8
0x00000000402d735c <+496>: bl 0x402d5a44 <_ZN5sched10timer_base6cancelEv>
0x00000000402d7360 <+500>: b 0x402d78cc <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1888>
0x00000000402d7364 <+504>: add x19, x19, #0x1, lsl #12
0x00000000402d7368 <+508>: add x19, x19, #0x6b8
0x00000000402d736c <+512>: mov x0, x19
0x00000000402d7370 <+516>: bl 0x402d5a44 <_ZN5sched10timer_base6cancelEv>
0x00000000402d7374 <+520>: ldur s0, [x20, #-180]
0x00000000402d7378 <+524>: mov x0, x25
0x00000000402d737c <+528>: bl 0x402d665c <_ZNK5sched14thread_runtime10time_untilEf>
0x00000000402d7380 <+532>: cmp x0, #0x0
0x00000000402d7384 <+536>: b.le 0x402d78cc <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1888>
0x00000000402d7388 <+540>: add x1, x0, x22
0x00000000402d738c <+544>: mov x0, x19
0x00000000402d7390 <+548>: bl 0x402d5814 <_ZN5sched10timer_base3setENSt6chrono10time_pointIN3osv5clock6uptimeENS1_8durationIlSt5ratioILl1ELl1000000000EEEEEE>
0x00000000402d7394 <+552>: b 0x402d78cc <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1888>
0x00000000402d7398 <+556>: mrs x25, daif
0x00000000402d739c <+560>: msr daifset, #0x2
0x00000000402d73a0 <+564>: isb
0x00000000402d73a4 <+568>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d73a8 <+572>: ldrb w0, [x0, #2809]
0x00000000402d73ac <+576>: cbz w0, 0x402d7400 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+660>
0x00000000402d73b0 <+580>: mov x1, #0x0 // #0
0x00000000402d73b4 <+584>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d73b8 <+588>: add x0, x0, #0x540
0x00000000402d73bc <+592>: add x0, x0, #0x580
0x00000000402d73c0 <+596>: bl 0x402dd5e8 <_ZN15tracepoint_base21allocate_trace_recordEm>
0x00000000402d73c4 <+600>: mov x20, x0
0x00000000402d73c8 <+604>: add x0, x0, #0x30
0x00000000402d73cc <+608>: str x0, [sp, #112]
0x00000000402d73d0 <+612>: ldr x0, [x20, #40]
0x00000000402d73d4 <+616>: tbz x0, #32, 0x402d73f0 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+644>
0x00000000402d73d8 <+620>: add x2, sp, #0x70
0x00000000402d73dc <+624>: mov x1, x20
0x00000000402d73e0 <+628>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d73e4 <+632>: add x0, x0, #0x540
0x00000000402d73e8 <+636>: add x0, x0, #0x580
0x00000000402d73ec <+640>: bl 0x402dd56c <_ZN15tracepoint_base16do_log_backtraceEP12trace_recordRPh>
0x00000000402d73f0 <+644>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d73f4 <+648>: add x0, x0, #0x540
0x00000000402d73f8 <+652>: add x0, x0, #0x580
0x00000000402d73fc <+656>: str x0, [x20]
0x00000000402d7400 <+660>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d7404 <+664>: add x0, x0, #0x540
0x00000000402d7408 <+668>: add x0, x0, #0x580
0x00000000402d740c <+672>: bl 0x402dd3c0 <_ZN15tracepoint_base10run_probesEv>
0x00000000402d7410 <+676>: msr daif, x0
0x00000000402d7414 <+680>: b 0x402d7918 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1964>
0x00000000402d7418 <+684>: mov x0, x25
0x00000000402d741c <+688>: bl 0x402d65b8 <_ZN5sched14thread_runtime19hysteresis_run_stopEv>
0x00000000402d7420 <+692>: ldr x20, [x19, #4200]
0x00000000402d7424 <+696>: sub x25, x20, #0x130
0x00000000402d7428 <+700>: ldr x0, [x20, #16]
0x00000000402d742c <+704>: cbz x0, 0x402d757c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1040>
0x00000000402d7430 <+708>: ldr x1, [x0, #8]
0x00000000402d7434 <+712>: cbz x1, 0x402d7440 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+724>
0x00000000402d7438 <+716>: ldr x1, [x1, #8]
0x00000000402d743c <+720>: cbnz x1, 0x402d7438 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+716>
0x00000000402d7440 <+724>: ldr x0, [x20]
0x00000000402d7444 <+728>: cbz x0, 0x402d75a4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1080>
0x00000000402d7448 <+732>: add x26, x19, #0x1, lsl #12
0x00000000402d744c <+736>: add x26, x26, #0x60
0x00000000402d7450 <+740>: add x2, sp, #0x70
0x00000000402d7454 <+744>: mov x1, x20
0x00000000402d7458 <+748>: mov x0, x26
0x00000000402d745c <+752>: bl 0x401cb5fc <_ZN5boost9intrusive17bstree_algorithmsINS0_18rbtree_node_traitsIPvLb0EEEE5eraseEPNS0_11rbtree_nodeIS3_EES8_RNS0_20data_for_rebalance_tIS8_EE>
0x00000000402d7460 <+756>: ldr x0, [sp, #128]
0x00000000402d7464 <+760>: cmp x20, x0
0x00000000402d7468 <+764>: b.eq 0x402d75cc <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1120> // b.none
0x00000000402d746c <+768>: ldr w1, [x0, #24]
0x00000000402d7470 <+772>: ldr w2, [x20, #24]
0x00000000402d7474 <+776>: str w2, [x0, #24]
0x00000000402d7478 <+780>: cbnz w1, 0x402d75d4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1128>
0x00000000402d747c <+784>: ldr x0, [x19, #4184]
0x00000000402d7480 <+788>: sub x0, x0, #0x1
0x00000000402d7484 <+792>: str x0, [x19, #4184]
0x00000000402d7488 <+796>: str xzr, [x20]
0x00000000402d748c <+800>: str xzr, [x20, #8]
0x00000000402d7490 <+804>: str xzr, [x20, #16]
0x00000000402d7494 <+808>: ldr x0, [x20, #72]
0x00000000402d7498 <+812>: asr x0, x0, #10
0x00000000402d749c <+816>: ubfx x1, x22, #10, #32
0x00000000402d74a0 <+820>: orr x0, x1, x0, lsl #32
0x00000000402d74a4 <+824>: add x1, x20, #0x50
0x00000000402d74a8 <+828>: str x0, [x1]
0x00000000402d74ac <+832>: ldur x0, [x20, #-168]
0x00000000402d74b0 <+836>: add x0, x0, #0x14
0x00000000402d74b4 <+840>: ldar w0, [x0]
0x00000000402d74b8 <+844>: cmp w0, #0x6
0x00000000402d74bc <+848>:
b.ne 0x402d75e8 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1148> // b.any
0x00000000402d74c0 <+852>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d74c4 <+856>: ldrb w0, [x0, #2922]
0x00000000402d74c8 <+860>: cbnz w0, 0x402d7610 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1188>
0x00000000402d74cc <+864>: cbnz w24, 0x402d76b8 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1356>
0x00000000402d74d0 <+868>: ldr x0, [x19, #5872]
0x00000000402d74d4 <+872>: cmp x0, x25
0x00000000402d74d8 <+876>: b.eq 0x402d76c8 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1372> // b.none
0x00000000402d74dc <+880>: cmp x0, x21
0x00000000402d74e0 <+884>: b.eq 0x402d775c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1520> // b.none
0x00000000402d74e4 <+888>: add x1, x20, #0x30
0x00000000402d74e8 <+892>: ldr x0, [x1]
0x00000000402d74ec <+896>: add x0, x0, #0x1
0x00000000402d74f0 <+900>: str x0, [x1]
0x00000000402d74f4 <+904>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d74f8 <+908>: ldrb w0, [x0, #2458]
0x00000000402d74fc <+912>: cbnz w0, 0x402d77f0 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1668>
0x00000000402d7500 <+916>: ldur x0, [x20, #-168]
0x00000000402d7504 <+920>: add x0, x0, #0x14
0x00000000402d7508 <+924>: mov w1, #0x5 // #5
0x00000000402d750c <+928>: stlr w1, [x0]
0x00000000402d7510 <+932>: sub x26, x20, #0xb8
0x00000000402d7514 <+936>: mov x0, x26
0x00000000402d7518 <+940>: bl 0x402d6544 <_ZN5sched14thread_runtime20hysteresis_run_startEv>
0x00000000402d751c <+944>: cmp x21, x25
0x00000000402d7520 <+948>: b.eq 0x402d7810 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1700> // b.none
0x00000000402d7524 <+952>: ldr x0, [x21, #136]
0x00000000402d7528 <+956>: add x0, x0, #0x14
0x00000000402d752c <+960>: ldr w0, [x0]
0x00000000402d7530 <+964>: cmp w0, #0x6
0x00000000402d7534 <+968>: b.eq 0x402d7838 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1740> // b.none
0x00000000402d7538 <+972>: add x21, x19, #0x1, lsl #12
0x00000000402d753c <+976>: add x21, x21, #0x6b8
0x00000000402d7540 <+980>: mov x0, x21
0x00000000402d7544 <+984>: bl 0x402d5a44 <_ZN5sched10timer_base6cancelEv>
0x00000000402d7548 <+988>: cbnz w24, 0x402d7850 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1764>
0x00000000402d754c <+992>: ldr x0, [x19, #4184]
0x00000000402d7550 <+996>: cbz x0, 0x402d785c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1776>
0x00000000402d7554 <+1000>: ldr x0, [x19, #4200]
0x00000000402d7558 <+1004>: ldur s0, [x0, #-180]
0x00000000402d755c <+1008>: mov x0, x26
0x00000000402d7560 <+1012>: bl 0x402d665c <_ZNK5sched14thread_runtime10time_untilEf>
0x00000000402d7564 <+1016>: cmp x0, #0x0
0x00000000402d7568 <+1020>: b.le 0x402d785c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1776>
0x00000000402d756c <+1024>: add x1, x0, x22
0x00000000402d7570 <+1028>: mov x0, x21
0x00000000402d7574 <+1032>: bl 0x402d5814 <_ZN5sched10timer_base3setENSt6chrono10time_pointIN3osv5clock6uptimeENS1_8durationIlSt5ratioILl1ELl1000000000EEEEEE>
0x00000000402d7578 <+1036>: b 0x402d785c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1776>
0x00000000402d757c <+1040>: ldr x1, [x20]
0x00000000402d7580 <+1044>: ldr x0, [x1, #16]
0x00000000402d7584 <+1048>: cmp x20, x0
0x00000000402d7588 <+1052>:
b.ne 0x402d7448 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+732> // b.any
0x00000000402d758c <+1056>: mov x0, x1
0x00000000402d7590 <+1060>: ldr x1, [x1]
0x00000000402d7594 <+1064>: ldr x2, [x1, #16]
0x00000000402d7598 <+1068>: cmp x2, x0
0x00000000402d759c <+1072>: b.eq 0x402d758c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1056> // b.none
0x00000000402d75a0 <+1076>: b 0x402d7448 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+732>
0x00000000402d75a4 <+1080>: str x27, [sp, #80]
0x00000000402d75a8 <+1084>: stp d8, d9, [sp, #96]
0x00000000402d75ac <+1088>: adrp x3, 0x4054e000
0x00000000402d75b0 <+1092>: add x3, x3, #0x5d8
0x00000000402d75b4 <+1096>: mov w2, #0x591 // #1425
0x00000000402d75b8 <+1100>: adrp x1, 0x4054e000
0x00000000402d75bc <+1104>: add x1, x1, #0x3e0
0x00000000402d75c0 <+1108>: adrp x0, 0x4054e000
0x00000000402d75c4 <+1112>: add x0, x0, #0x6e8
0x00000000402d75c8 <+1116>: bl 0x400d892c <__assert_fail(char const*, char const*, unsigned int, char const*)>
0x00000000402d75cc <+1120>: ldr w1, [x20, #24]
0x00000000402d75d0 <+1124>: b 0x402d7478 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+780>
0x00000000402d75d4 <+1128>: ldr x2, [sp, #120]
0x00000000402d75d8 <+1132>: ldr x1, [sp, #112]
0x00000000402d75dc <+1136>: mov x0, x26
0x00000000402d75e0 <+1140>: bl 0x401cb8d8 <_ZN5boost9intrusive17rbtree_algorithmsINS0_18rbtree_node_traitsIPvLb0EEEE42rebalance_after_erasure_restore_invariantsEPNS0_11rbtree_nodeIS3_EES8_S8_>
0x00000000402d75e4 <+1144>: b 0x402d747c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+784>
0x00000000402d75e8 <+1148>: str x27, [sp, #80]
0x00000000402d75ec <+1152>: stp d8, d9, [sp, #96]
0x00000000402d75f0 <+1156>: adrp x3, 0x4055b000
0x00000000402d75f4 <+1160>: add x3, x3, #0xc20
0x00000000402d75f8 <+1164>: mov w2, #0x128 // #296
0x00000000402d75fc <+1168>: adrp x1, 0x4055b000
0x00000000402d7600 <+1172>: add x1, x1, #0xa60
0x00000000402d7604 <+1176>: adrp x0, 0x4055b000
0x00000000402d7608 <+1180>: add x0, x0, #0xc88
0x00000000402d760c <+1184>: bl 0x400d892c <__assert_fail(char const*, char const*, unsigned int, char const*)>
0x00000000402d7610 <+1188>: str x27, [sp, #80]
0x00000000402d7614 <+1192>: stp d8, d9, [sp, #96]
0x00000000402d7618 <+1196>: ldr s9, [x21, #124]
0x00000000402d761c <+1200>: ldur s8, [x20, #-180]
0x00000000402d7620 <+1204>: mrs x27, daif
0x00000000402d7624 <+1208>: msr daifset, #0x2
0x00000000402d7628 <+1212>: isb
0x00000000402d762c <+1216>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d7630 <+1220>: ldrb w0, [x0, #2921]
0x00000000402d7634 <+1224>: cbz w0, 0x402d7698 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1324>
0x00000000402d7638 <+1228>: mov x1, #0x10 // #16
0x00000000402d763c <+1232>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d7640 <+1236>: add x0, x0, #0x540
0x00000000402d7644 <+1240>: add x0, x0, #0x5f0
0x00000000402d7648 <+1244>: bl 0x402dd5e8 <_ZN15tracepoint_base21allocate_trace_recordEm>
0x00000000402d764c <+1248>: mov x26, x0
0x00000000402d7650 <+1252>: add x0, x0, #0x30
0x00000000402d7654 <+1256>: str x0, [sp, #112]
0x00000000402d7658 <+1260>: ldr x0, [x26, #40]
0x00000000402d765c <+1264>: tbz x0, #32, 0x402d7678 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1292>
0x00000000402d7660 <+1268>: add x2, sp, #0x70
0x00000000402d7664 <+1272>: mov x1, x26
0x00000000402d7668 <+1276>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d766c <+1280>: add x0, x0, #0x540
0x00000000402d7670 <+1284>: add x0, x0, #0x5f0
0x00000000402d7674 <+1288>: bl 0x402dd56c <_ZN15tracepoint_base16do_log_backtraceEP12trace_recordRPh>
0x00000000402d7678 <+1292>: ldr x0, [sp, #112]
0x00000000402d767c <+1296>: str x25, [x0]
0x00000000402d7680 <+1300>: str s9, [x0, #8]
0x00000000402d7684 <+1304>: str s8, [x0, #12]
0x00000000402d7688 <+1308>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d768c <+1312>: add x0, x0, #0x540
0x00000000402d7690 <+1316>: add x0, x0, #0x5f0
0x00000000402d7694 <+1320>: str x0, [x26]
0x00000000402d7698 <+1324>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d769c <+1328>: add x0, x0, #0x540
0x00000000402d76a0 <+1332>: add x0, x0, #0x5f0
0x00000000402d76a4 <+1336>: bl 0x402dd3c0 <_ZN15tracepoint_base10run_probesEv>
0x00000000402d76a8 <+1340>: msr daif, x0
0x00000000402d76ac <+1344>: ldr x27, [sp, #80]
0x00000000402d76b0 <+1348>: ldp d8, d9, [sp, #96]
0x00000000402d76b4 <+1352>: b 0x402d74cc <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+864>
0x00000000402d76b8 <+1356>: mov x1, x21
0x00000000402d76bc <+1360>: mov x0, x19
0x00000000402d76c0 <+1364>: bl 0x402d4af0 <_ZN5sched3cpu7enqueueERNS_6threadE>
0x00000000402d76c4 <+1368>: b 0x402d74d0 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+868>
0x00000000402d76c8 <+1372>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d76cc <+1376>: ldrb w0, [x0, #3034]
0x00000000402d76d0 <+1380>: cbz w0, 0x402d74e4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+888>
0x00000000402d76d4 <+1384>: str x27, [sp, #80]
0x00000000402d76d8 <+1388>: mrs x27, daif
0x00000000402d76dc <+1392>: msr daifset, #0x2
0x00000000402d76e0 <+1396>: isb
0x00000000402d76e4 <+1400>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d76e8 <+1404>: ldrb w0, [x0, #3033]
0x00000000402d76ec <+1408>: cbz w0, 0x402d7740 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1492>
0x00000000402d76f0 <+1412>: mov x1, #0x0 // #0
0x00000000402d76f4 <+1416>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d76f8 <+1420>: add x0, x0, #0x540
0x00000000402d76fc <+1424>: add x0, x0, #0x660
0x00000000402d7700 <+1428>: bl 0x402dd5e8 <_ZN15tracepoint_base21allocate_trace_recordEm>
0x00000000402d7704 <+1432>: mov x26, x0
0x00000000402d7708 <+1436>: add x0, x0, #0x30
0x00000000402d770c <+1440>: str x0, [sp, #112]
0x00000000402d7710 <+1444>: ldr x0, [x26, #40]
0x00000000402d7714 <+1448>: tbz x0, #32, 0x402d7730 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1476>
0x00000000402d7718 <+1452>: add x2, sp, #0x70
0x00000000402d771c <+1456>: mov x1, x26
0x00000000402d7720 <+1460>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d7724 <+1464>: add x0, x0, #0x540
0x00000000402d7728 <+1468>: add x0, x0, #0x660
0x00000000402d772c <+1472>: bl 0x402dd56c <_ZN15tracepoint_base16do_log_backtraceEP12trace_recordRPh>
0x00000000402d7730 <+1476>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d7734 <+1480>: add x0, x0, #0x540
0x00000000402d7738 <+1484>: add x0, x0, #0x660
0x00000000402d773c <+1488>: str x0, [x26]
0x00000000402d7740 <+1492>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d7744 <+1496>: add x0, x0, #0x540
0x00000000402d7748 <+1500>: add x0, x0, #0x660
0x00000000402d774c <+1504>: bl 0x402dd3c0 <_ZN15tracepoint_base10run_probesEv>
0x00000000402d7750 <+1508>: msr daif, x0
0x00000000402d7754 <+1512>: ldr x27, [sp, #80]
0x00000000402d7758 <+1516>: b 0x402d74e4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+888>
0x00000000402d775c <+1520>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d7760 <+1524>: ldrb w0, [x0, #3146]
0x00000000402d7764 <+1528>: cbz w0, 0x402d74e4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+888>
0x00000000402d7768 <+1532>: str x27, [sp, #80]
0x00000000402d776c <+1536>: mrs x27, daif
0x00000000402d7770 <+1540>: msr daifset, #0x2
0x00000000402d7774 <+1544>: isb
0x00000000402d7778 <+1548>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d777c <+1552>: ldrb w0, [x0, #3145]
0x00000000402d7780 <+1556>: cbz w0, 0x402d77d4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1640>
0x00000000402d7784 <+1560>: mov x1, #0x0 // #0
0x00000000402d7788 <+1564>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d778c <+1568>: add x0, x0, #0x540
0x00000000402d7790 <+1572>: add x0, x0, #0x6d0
0x00000000402d7794 <+1576>: bl 0x402dd5e8 <_ZN15tracepoint_base21allocate_trace_recordEm>
0x00000000402d7798 <+1580>: mov x26, x0
0x00000000402d779c <+1584>: add x0, x0, #0x30
0x00000000402d77a0 <+1588>: str x0, [sp, #112]
0x00000000402d77a4 <+1592>: ldr x0, [x26, #40]
0x00000000402d77a8 <+1596>: tbz x0, #32, 0x402d77c4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1624>
0x00000000402d77ac <+1600>: add x2, sp, #0x70
0x00000000402d77b0 <+1604>: mov x1, x26
0x00000000402d77b4 <+1608>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d77b8 <+1612>: add x0, x0, #0x540
0x00000000402d77bc <+1616>: add x0, x0, #0x6d0
0x00000000402d77c0 <+1620>: bl 0x402dd56c <_ZN15tracepoint_base16do_log_backtraceEP12trace_recordRPh>
0x00000000402d77c4 <+1624>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d77c8 <+1628>: add x0, x0, #0x540
0x00000000402d77cc <+1632>: add x0, x0, #0x6d0
0x00000000402d77d0 <+1636>: str x0, [x26]
0x00000000402d77d4 <+1640>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d77d8 <+1644>: add x0, x0, #0x540
0x00000000402d77dc <+1648>: add x0, x0, #0x6d0
0x00000000402d77e0 <+1652>: bl 0x402dd3c0 <_ZN15tracepoint_base10run_probesEv>
0x00000000402d77e4 <+1656>: msr daif, x0
0x00000000402d77e8 <+1660>: ldr x27, [sp, #80]
0x00000000402d77ec <+1664>: b 0x402d74e4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+888>
0x00000000402d77f0 <+1668>: ldr x0, [x19, #4184]
0x00000000402d77f4 <+1672>: str x0, [sp, #136]
0x00000000402d77f8 <+1676>: add x1, sp, #0x88
0x00000000402d77fc <+1680>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d7800 <+1684>: add x0, x0, #0x540
0x00000000402d7804 <+1688>: add x0, x0, #0x420
0x00000000402d7808 <+1692>: bl 0x402d4860 <(anonymous namespace)::tracepointv<16, std::tuple<long unsigned int>(long unsigned int), identity_assign<long unsigned int> >::trace_slow_path(std::tuple<unsigned long>)>
0x00000000402d780c <+1696>: b 0x402d7500 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+916>
0x00000000402d7810 <+1700>: str x27, [sp, #80]
0x00000000402d7814 <+1704>: stp d8, d9, [sp, #96]
0x00000000402d7818 <+1708>: adrp x3, 0x4055b000
0x00000000402d781c <+1712>: add x3, x3, #0xc20
0x00000000402d7820 <+1716>: mov w2, #0x13b // #315
0x00000000402d7824 <+1720>: adrp x1, 0x4055b000
0x00000000402d7828 <+1724>: add x1, x1, #0xa60
0x00000000402d782c <+1728>: adrp x0, 0x4055b000
0x00000000402d7830 <+1732>: add x0, x0, #0xcc0
0x00000000402d7834 <+1736>: bl 0x400d892c <__assert_fail(char const*, char const*, unsigned int, char const*)>
0x00000000402d7838 <+1740>: ldr x0, [x19, #5872]
0x00000000402d783c <+1744>: cmp x0, x21
0x00000000402d7840 <+1748>: b.eq 0x402d7538 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+972> // b.none
0x00000000402d7844 <+1752>: mov x0, x26
0x00000000402d7848 <+1756>: bl 0x402d661c <_ZN5sched14thread_runtime26add_context_switch_penaltyEv>
0x00000000402d784c <+1760>: b 0x402d7538 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+972>
0x00000000402d7850 <+1764>: add x1, x23, x22
0x00000000402d7854 <+1768>: mov x0, x21
0x00000000402d7858 <+1772>: bl 0x402d5814 <_ZN5sched10timer_base3setENSt6chrono10time_pointIN3osv5clock6uptimeENS1_8durationIlSt5ratioILl1ELl1000000000EEEEEE>
0x00000000402d785c <+1776>: add x1, x19, #0x1, lsl #12
0x00000000402d7860 <+1780>: add x1, x1, #0x6fa
0x00000000402d7864 <+1784>: ldrb w0, [x1]
0x00000000402d7868 <+1788>: ands w0, w0, #0xff
0x00000000402d786c <+1792>: ldurb w2, [x20, #-32]
0x00000000402d7870 <+1796>: cset w0, ne // ne = any
0x00000000402d7874 <+1800>: cmp w0, w2
0x00000000402d7878 <+1804>:
b.ne 0x402d78e4 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1912> // b.any
0x00000000402d787c <+1808>: add x1, x19, #0x1, lsl #12
0x00000000402d7880 <+1812>: add x1, x1, #0x6f9
0x00000000402d7884 <+1816>: mov w0, #0x0 // #0
0x00000000402d7888 <+1820>: bl 0x40478760 <__aarch64_swp1_acq_rel>
0x00000000402d788c <+1824>: and w0, w0, #0xff
0x00000000402d7890 <+1828>: cbnz w0, 0x402d78ec <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1920>
0x00000000402d7894 <+1832>: mov x0, x25
0x00000000402d7898 <+1836>: bl 0x402d48f0 <_ZN5sched6thread9switch_toEv>
0x00000000402d789c <+1840>: mrs x0, tpidr_el0
0x00000000402d78a0 <+1844>: add x0, x0, #0x0, lsl #12
0x00000000402d78a4 <+1848>: add x0, x0, #0x90
0x00000000402d78a8 <+1852>: ldr x0, [x0, #8]
0x00000000402d78ac <+1856>: ldr x0, [x0, #5904]
0x00000000402d78b0 <+1860>: cbz x0, 0x402d78cc <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1888>
0x00000000402d78b4 <+1864>: bl 0x402d7978 <_ZN5sched6thread7destroyEv>
0x00000000402d78b8 <+1868>: mrs x0, tpidr_el0
0x00000000402d78bc <+1872>: add x0, x0, #0x0, lsl #12
0x00000000402d78c0 <+1876>: add x0, x0, #0x90
0x00000000402d78c4 <+1880>: ldr x0, [x0, #8]
0x00000000402d78c8 <+1884>: str xzr, [x0, #5904]
0x00000000402d78cc <+1888>: ldp x19, x20, [sp, #16]
0x00000000402d78d0 <+1892>: ldp x21, x22, [sp, #32]
0x00000000402d78d4 <+1896>: ldp x23, x24, [sp, #48]
0x00000000402d78d8 <+1900>: ldp x25, x26, [sp, #64]
0x00000000402d78dc <+1904>: ldp x29, x30, [sp], #144
0x00000000402d78e0 <+1908>: ret
0x00000000402d78e4 <+1912>: strb w2, [x1]
0x00000000402d78e8 <+1916>: b 0x402d787c <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1808>
0x00000000402d78ec <+1920>: bl 0x401f8c50 <_ZN3mmu15flush_tlb_localEv>
0x00000000402d78f0 <+1924>: b 0x402d7894 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+1832>
0x00000000402d78f4 <+1928>: mov x0, x25
0x00000000402d78f8 <+1932>: bl 0x402d65b8 <_ZN5sched14thread_runtime19hysteresis_run_stopEv>
0x00000000402d78fc <+1936>: ldr x0, [x21, #136]
0x00000000402d7900 <+1940>: add x0, x0, #0x14
0x00000000402d7904 <+1944>: mov w1, #0x6 // #6
0x00000000402d7908 <+1948>: stlr w1, [x0]
0x00000000402d790c <+1952>: adrp x0, 0x40785000 <trace_memory_huge_failure+64>
0x00000000402d7910 <+1956>: ldrb w0, [x0, #2810]
0x00000000402d7914 <+1960>: cbnz w0, 0x402d7398 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+556>
0x00000000402d7918 <+1964>: add x1, x21, #0x168
0x00000000402d791c <+1968>: ldr x0, [x1]
0x00000000402d7920 <+1972>: add x0, x0, #0x1
0x00000000402d7924 <+1976>: str x0, [x1]
0x00000000402d7928 <+1980>: b 0x402d7420 <_ZN5sched3cpu25reschedule_from_interruptEbNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE+692>
End of assembler dump.