この記事はLinuxカーネルもくもく会 #24 - connpassで書いてます。今日は前に追加されたcgroupsのpid管理のコードを読んでみます。 ファイルはcgroup_pids.cです。Linux 4.7のコードを対象にします。 最初にデータ構造です。pidの場合はpids_cgroup構造体が使われます。この構造体はcgroup_pids.cで定義されています。 43 struct pids_cgroup { 44 struct cgroup_subsys_state css; 45 46 /* 47 * Use 64-bit types so that we can safely represent "max" as 48 * %PIDS_MAX = (%PID_MAX_LIMIT + 1). 49 */ 50 atomic64_t counter; 51 int64_t l