[Kernel][Workqueue] flush_work(), 배리어 워크(barrier_work, wq_barrier)
By Guillermo Austin Kim | 2018년 8월 13일 |
barrier work에 대해서 알아보겠습니다. flush_work 함수는 두 가지 상황에서 쓰입니다. 두 가지 경우에 barrier work가 어떻게 쓰이는지 알아볼게요. 1. 현재 다른 워커 쓰레드에서 동일한 워크가 실행 중에 동일한 work을 flush한 경우 <...>-386 [001] ...1 143.380287: workqueue_execute_start: work struct e880e910: function sdhci_pm_qos_cpu_unvote_work//... mmc-cmdqd/0-339 [000] ...1 143.381065: flush_work <-__cancel_work_timer mmc-cmdqd
버추얼박스에서 리눅스 민트 18.2 XFCE 설치
By 반달가면 | 2017년 9월 26일 |
지난 7월에 공개된 리눅스 민트(Linux Mint) 18.2의 XFCE 버전을 시험 삼아 버추얼박스에 가상 머신으로 설치해 보았다. (리눅스 민트 공식 홈페이지는 여기로) 설치 과정은 예전과 다를 것이 없는데, 설치를 완료하고 나서 재시작했는데 로그인이 되지 않는 문제가 발생. 자세히 보니, 로그인 화면 왼쪽 위에 컴퓨터 이름이 설치하면서 지정한 이름이 아니라 라이브(live) 부팅일 때의 기본값인 "mint"로 되어 있다. 사용자 ID를 입력하고 암호를 입력하면 계속 암호가 맞지 않는다는 메세지가 나오고 로그인이 되지 않았다. 뭔가 이상하다 싶어 화면 오른쪽 위에 있는 전원 아이콘을 클릭해서 재시작을 하고 나니 이번엔 다 제대로 나오고 로그인도 정상. 즉, 설치가 완료되고 재시작을 2번 하면 정상동
리눅스 민트 19 XFCE에서 버추얼박스 게스트 확장 및 한글 입력기 설치
By 반달가면 | 2018년 8월 20일 |
리눅스 민트(Linux Mint) 19 XFCE를 버추얼박스 가상머신에 설치하고 공유 폴더를 사용하기 위해 버추얼박스 게스트 확장(Virtualbox Guest Additions)을 설치하려 했으나, 오류가 발생. 상황은 대략 아래와 같다. 게스트 확장 iso 이미지를 마운트하고 설치를 진행했는데, 설치가 마무리되지 않고 오류 로그(log)를 확인하라는 메세지가 출력되었다. 오류 로그는 /var/log/vboxadd-install.log 파일에 있다. 오류 로그 파일을 열어서 내용을 살펴보니, 제일 앞부분에 /lib/modules/4.15.0-20-generic/build/include/linux/version.h 파일이 없다는(no such file or directory) 내용이 있다. 인터
[라즈베리파이] 워크큐(Workqueue) - 워크를 워크큐 큐잉시 핵심함수 분석
By Guillermo Austin Kim | 2018년 9월 10일 |
![[라즈베리파이] 워크큐(Workqueue) - 워크를 워크큐 큐잉시 핵심함수 분석](https://img.zoomtrend.com/2018/09/10/c0246238_5b93bf36f26ff.png)
From:워크큐(Workqueue) - 워크를 워크큐에 어떻게 큐잉할까?(1) 워크큐(Workqueue) - 워크를 워크큐에 어떻게 큐잉할까?(2) 이제부터 __queue_work() 함수에서 호출하는 다른 워크큐 주요 함수들을 알아봅니다. 시스템 워크큐 뿐만 아니라 다른 워크큐에서도 이용하는 함수들이니 잘 기억할 필요가 있습니다. get_work_pool() 함수get_work_pool() 함수 분석을 시작하겠습니다.[https://elixir.bootlin.com/linux/v4.14.43/source/kernel/workqueue.c#L709]1 static struct worker_pool *get_work_pool(struct work_struct *work)2 {3unsigned lon