Linux/kernel
-
[리눅스 커널] debug - dynamic debugLinux/kernel 2023. 8. 5. 18:47
글의 참고 - https://www.kernel.org/doc/html/v5.0/admin-guide/dynamic-debug-howto.html 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 : 리눅스 커널에서 `pr_deug`나 `dev_dbg`는 dmesg에 출력되지 않는다. 해당 함수들을 통해서 로그를 출력하려면 한 가지 조건이 필요하다. 현재 동작하는 커널에 CONFIG_DYNAMIC_DEBUG 가 설정되어 있어야 한다. : 현재 동작중인 커널 CONFIG를 확인해보고 싶다면, `zcat /proc/config.gz | grpe -i DYNAMIC*` 을 통해 확인이 가능하다. 설정이 되어있지 않다면, `${ARCH}_defcon..
-
[리눅스 커널] Data structure - Linked listLinux/kernel 2023. 8. 5. 03:04
글의 참고- https://en.wikipedia.org/wiki/Doubly_linked_list- https://stackoverflow.com/questions/10262017/difference-between-list-head-init-and-init-list-head글의 전제- 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다.- 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다.글의 내용- 리스트 자료구조: 리스트 구현 시, 고민이 되는 부분은 자료구조다. 알고리즘은 사실 자료구조를 어떻게 구성하느냐에 따라 쉬워지다가도 어려지는 내용이라서 자료구조를 잘 만들어야 한다. 대학교때 배우는 정석적인 리스트는 순차탐색으로 다음 노드만을 가리킨다. 즉, 이전으로 돌아올 수 있는 방법이 없다..
-
[리눅스 커널] pinctrl - raspberry pi 3 overviewLinux/kernel 2023. 8. 4. 20:30
글의 참고1 https://www.amazon.com/Linux-Device-Drivers-Development-customized-ebook/dp/B073V4LKWN2. https://www.amazon.com/Linux-Driver-Development-Embedded-Processors/dp/17293218283. https://raspberrypi.stackexchange.com/questions/77803/how-do-i-use-devicetree-to-init-gpio-to-a-set-value4. https://yohda.tistory.com/entry/LINUXKERNELDT-devicetree-overlay%EB%A5%BC-%ED%86%B5%ED%95%B4-%EB%8F%99%EC%A0%8..
-
[리눅스 커널] SMP - cpumaskLinux/kernel 2023. 8. 3. 02:33
글의 참고 - https://lwn.net/Articles/537570/ - https://www.kernel.org/doc/html/v4.12/core-api/cpu_hotplug.html - https://forum.osdev.org/viewtopic.php?f=1&t=23445 - http://www.wowotech.net/pm_subsystem/cpu_hotplug.html - https://zhuanlan.zhihu.com/p/536776611 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 - Overview " 리눅스 커널에서 `CPU hotplug` 기능이 지원되면서, 현재 동작중인 CPU 가 동적으로 Off 가 될 수 있게 ..
-
[리눅스 커널] CPU topologyLinux/kernel 2023. 8. 3. 02:32
글의 참고 - https://www.kernel.org/doc/Documentation/devicetree/bindings/cpu/cpu-topology.txt - http://www.wowotech.net/pm_subsystem/cpu_topology.html - https://www.kernel.org/doc/html/next/admin-guide/cputopology.html - https://docs.openstack.org/nova/latest/admin/cpu-topologies.html - https://www.kernel.org/doc/Documentation/x86/topology.txt - https://www.kernel.org/doc/Documentation/devicetree/bi..
-
[리눅스 커널] CPU overviewLinux/kernel 2023. 8. 3. 02:32
글의 참고 - http://www.wowotech.net/pm_subsystem/cpu_core_pm_overview.html - https://zhuanlan.zhihu.com/p/536776611 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. 글의 내용 1. 소개 SMP(Symmetric Multi-Processing)가 유행하기 한참 전 리눅스 커널의 전원 관리는 주로 외부 장치에 집중되었으며, CPU 코어와 관련된 것은 기껏해야 CPU idle 정도 였다. 그러나 SMP가..
-
[리눅스 커널] Bus Types.Linux/kernel 2023. 8. 3. 02:32
글의 참고 - https://www.kernel.org/doc/html/next/driver-api/driver-model/bus.html - http://www.makelinux.net/ldd3/chp-14-sect-4.shtml#chp-14-FNOTE-1 - https://www.cnblogs.com/schips/p/linux_device_model.html 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. - `글의 참조`에서 빨간색 볼드체로 체크된 링크는 이 글을 작성하면 가..
-
[리눅스 커널] PM - System Power ManagementLinux/kernel 2023. 8. 3. 02:32
글의 참고 - https://www.kernel.org/doc/html/next/driver-api/pm/devices.html#driverapi-pm-devices - https://lwn.net/Articles/505683/ - http://www.wowotech.net/pm_subsystem/suspend_and_resume.html - Mastering Linux Device Driver Development: Write custom device drivers to support computer peripherals in Linux operating systems by John Madieu - https://patchwork.kernel.org/project/linux-arm-kernel/patc..