[Linux][Kernel] ftrace - Workqueue 워크큐 로그 분석 - 1
By Guillermo Austin Kim | 2017년 12월 13일 |
리눅스 커널의 매우 중요한 Subsystem인 워크큐. 이번에는 잠깐 ftrace 로그에서 workqueue에 대해 분석을 해보려고 해요.ftrace 세팅은 Appendix [1]을 참고하시구요. 아래 로그는 보자마자 느낄 수 있는 건 irq/225-touch-279란 irq_thread에서 워크 큐를 큐잉하고 이 후 워크큐가 실행된다는 걸 알 수 있죠. irq/225-touch-279 [006] 53516.537609: workqueue_queue_work: work struct=0xed845d58 function=touch_update_work workqueue=0xed80cc00 req_cpu=8 cpu=6 //<<--[1] irq/225-touch-279 [006] 53
리눅스 민트 17(우분투 14.04 기반) 커널을 우분투 16.04 커널로 업데이트
By 반달가면 | 2019년 7월 26일 |
우분투 14.04 LTS 기반의 배포판인 리눅스 민트 17의 커널을 우분투 16.04 LTS 커널로 업데이트했다. 기존 커널의 버전은 3.13이고 업데이트한 커널은 4.4이다. 굳이 커널을 업데이트하지 않고도 여태까지 사용에 별 문제가 없었으나, 도커(Docker)를 설치해서 실행해 보려고 하니 커널 버전이 4.x가 아니면 실행이 되지 않았다. 결국 불가피하게 커널 업데이트를 진행. 우분투 커널 업데이트 유틸리티(ukuu, 이전 게시물을 참고하자. 여기로)를 사용해 볼까 했으나, 시냅틱 패키지 매니저에서 검색해 보니 16.04 커널이 공식 S/W저장소를 통해서 제공되고 있길래 그냥 이걸로 업데이트했다. 우분투 16.04의 코드명이 "Xenial Xerus"이므로 xenial 커널을 설치하면 된다.
[라즈베리파이]인터럽트(4) - 인터럽트 디스크립터란
By Guillermo Austin Kim | 2018년 2월 13일 |
인터럽트 디스크립터는 디바이스 드라이버가 등록한 인터럽트 속성을 표현합니다. 각 디바이스 드라이버에서 설정한 인터럽트 마다 아래 자료 구조를 커널이 생성합니다. 자료 구조는 아래와 같습니다.struct irq_desc { struct irq_common_data irq_common_data; struct irq_data irq_data; unsigned int __percpu *kstat_irqs; irq_flow_handler_t handle_irq;#ifdef CONFIG_IRQ_PREFLOW_FASTEOI irq_preflow_handler_t preflow_handler;#endif struct irqaction *action; /* IRQ action list */ unsigned int sta
[Windows] 디스플레이 배율에 관한 고찰
By 지훈현서 | 2020년 7월 11일 |
다른 리눅스나 맥도 마찬가지 이지만,화면(디스플레이)의 두 가지 보여주는 인자가 존재하는데 하나는 해상도이고 다른 하나는 배율(스케일)에관한 것입니다. 해상도야 그래픽카드와 모니터에 따라 지원되는 최대 해상도에서더 작은 것으로 선택을 하면 됩니다만, 요즘처럼 FHD 보다 큰해상도에서는 맥에서 이야기하는 레티나처럼 지원되지 위해서는윈도우에서는 배율을 100% 보다 크게 하여 해상도가 크더라도보여지는 것은 더 알맞고 이쁘게 보여지게 됩니다. 그런데 필요에 따라 이 배율을 프로그램으로 가져와야 하는데,이것을 딱 가져오게 하는 것이 나오지 않더군요.. 약간의 시행착오를 거쳐 알아낸 방법은, 만약 위와 같이 150%로 설정을 한 경우에는, 레지스트리에서 "컴퓨터\HKEY_CURRENT_USER\Control