전체 글 (518) 썸네일형 리스트형 BUG(): CONFIG_PANIC_ON_OOPS, CONFIG_PANIC_ON_OOPS_VALUE! Sometime I noticed that system does not crash when the call to BUG() is made in the kernel driver. I just observed the stack trace from the kernel log and then find that target is running rather than entering crash mode. To make the target crash when BUG() is called, the following config should be present; CONFIG_PANIC_ON_OOPS=y CONFIG_PANIC_ON_OOPS_VALUE=1 Let's look at kernel die() function wh.. [Arm프로세서] 메모리 아키텍처에서 캐시(Cache)란 컴퓨터가 발명된 후 초장기 시점에 컴퓨터는 어떤 모습일까요? 컴퓨터의 크기는 방 하나 정도였습니다. 그 당시에 CPU와 메인 메모리만 존재했습니다. CPU가 어떤 명령어를 실행하거나 데이터를 가져오려면 메인 메모리에 접근했습니다. 컴퓨터 기술이 발전하면서 컴퓨터의 성능을 키우려는 시도를 합니다. 처음에 CPU의 처리 속도(클럭)를 키우려는 방향으로 다양한 연구를 진행했는데 CPU의 성능을 최대로 키우면 이에 비례해 시스템의 성능도 함께 좋아질 것이라 예상했습니다. 그래서 CPU의 성능을 측정했는데 다음과 같은 흥미로운 사실을 알게 됐습니다. "CPU의 대부분 시간은 메인 메모리에 접근하는데 허비한다." CPU의 실행 속도는 매우 빠른데 메모리에 접근하는 시간은 CPU의 실행 시간에 비해 상당히 느리다는 .. [mm] anon page debugging crash64> bt ... #20 [ffffffc00932be70] do_el0_svc at ffffffd174227f30 #21 [ffffffc00932be80] el0_svc at ffffffd174d4d328 #22 [ffffffc00932bea0] el0t_64_sync_handler at ffffffd174d4da20 #23 [ffffffc00932bfe0] el0t_64_sync at ffffffd17421160c PC: 0000007fa528cb20 LR: 0000007fa5237f94 SP: 0000007fc3fc7ad0 X29: 0000007fc3fc7ad0 X28: 000000557d72f000 X27: 0000000000000000 X26: 000000557d6f5000 X25: 0.. [mm] OOM Killer log and kernel code review log [ 747.358161] 81920 pages cma reserved [ 747.358164] Tasks state (memory values in pages): [ 747.358167] [ pid ] uid tgid total_vm rss pgtables_bytes swapents oom_score_adj name [ 747.358186] [ 142] 0 142 12270 43 94208 236 -250 systemd-journal ... [ 747.358591] [ 1468] 0 1468 1740 131 45056 0 0 bash [ 747.358597] [ 1502] 1000 1502 39991 99 65536 0 0 gvfsd-metadata [ 747.358607] [ 1604] 0 16.. [T32] gitlab link for 'awesome-trace32' gitlab link for 'awesome-trace32' https://gitlab.com/lauterbach/awesome-trace32 [MM] 페이지 엔트리 속성 (PTE) 매크로 https://elixir.bootlin.com/linux/v5.15.30/source/arch/arm64/include/asm/pgtable-hwdef.h#L151 #define PTE_VALID (_AT(pteval_t, 1) [Linux] mm: memory layout memory layout is traced at boot in the previous kernel version where the current version cannot show the memory map. https://elixir.bootlin.com/linux/v4.14.30/source/arch/arm64/mm/init.c#L583 void __init mem_init(void) { if (swiotlb_force == SWIOTLB_FORCE || max_pfn > (arm64_dma_phys_limit >> PAGE_SHIFT)) swiotlb_init(1); else swiotlb_force = SWIOTLB_NO_FORCE; set_max_mapnr(pfn_to_page(max_pfn) .. LK (Little kernel) source https://github.com/hyperion70/iq451_mt6589/tree/master/bootable/bootloader/lk/arch Little Kernel Boot Loader Overview LM80-P0436-1 이전 1 ··· 17 18 19 20 21 22 23 ··· 65 다음