OpenBSDカーネルの同期機構SRPについて調べた
はじめに 先日、SMRというLinux RCUに似た同期機構がOpenBSDにコミットされました。今回は、以前からOpenBSDに存在するSRPという同期機構について調べました。 SRPとは S...
29 search resultsShowing 1~20 results
You need to log-in
はじめに 先日、SMRというLinux RCUに似た同期機構がOpenBSDにコミットされました。今回は、以前からOpenBSDに存在するSRPという同期機構について調べました。 SRPとは S...
はじめに つい先日、OpenBSDに SMR という名前のカーネル同期機構がコミットされたのでソースコードを読んでみました。コミットログにも書いてありますが、Linux (Classic) RC...
文章にする時間がないので箇条書きで。 まとめ ARMv8.3-Aの拡張仕様の1つ 目的は攻撃者によるポインタ書き換えの検出 たぶんソフトウェアでも実装できるが、より安全で高速だと思われる 性能評...
はじめに FreeBSDには、read-mostlyロック(rmlock(9))という、reader/writerロック(rwlock(9))に似たロックプリミティブがある。ロック利用者のほとん...
はじめに 7月18日にLKML, net-dev MLで提案された(Kernel) NET policy 1 について調べてみました。 NET policyとは? Linuxの通信性能は初期設定...
systemdにはコンテナやハイパーバイザの検出用関数detect_virtualizationが存在する。v230現在では、まずコンテナを判別するdetect_containerを実行して、判...
この記事はNetBSD Advent Calendar 2015の20日目として書かれました。 はじめに NetBSDにはATFというテストフレームワークが用意されており、ユーザランドプログラム...
この記事は、NetBSD Advent Calendar 2014の12/20担当分として書かれました。 はじめに とある事情により、1年ほど前からNetBSDを使い始めました。外から見てると気...
Fedoraのデフォルト設定ではsystemd-journaldは/var/log/journal以下にログ(ジャーナル)を保存する。journalctlはその下にあるファイルを読み出すだけであ...
systemdのマネージャ(デーモンプロセス)は、起動プロセスの最後の方でsd_notifyという関数を用いて、起動が完了したことをsystemd本体(PID=1)に通知する。(注:sd_not...
systemdにはmanager_get_unit_by_pidというユーティリティ関数がある。これはPIDからマネージャ(systemdのデーモンプロセス)のUnit(に対応するデータ構造)を...
systemdにはis_kthreadという、指定PIDのプロセスがカーネルスレッドかどうか判定する関数がある。その方法は/proc/PID/cmdlineの中身が空かどうかというもの。 昔、自...
systemdのコードにはalloc_size属性を使う_alloc_マクロがある。 src/shared/macro.h # define _alloc_(...) __attribute__...
sentinel属性について調べてみた。 いつものようにFunction Attributes - Using the GNU Compiler Collection (GCC)を読んでみると、...
systemdではthread_local修飾子が使われている。thread_localは、C11で導入された、スレッドローカルな変数を定義するための修飾子である (参考: C11: A New...
systemdにはdual_timestampという構造体がある。 src/shared/time-util.h typedef struct dual_timestamp { usec_t r...
systemdには_printf_というマクロがある。 src/shared/macro.h # define _printf_(a,b) __attribute__ ((format (pri...
systemdにclock_reset_timewarp (当該コード) という謎の処理を行なう関数があったので調べてみた。 settimeofday(2)でタイムゾーンを設定するだけの処理だけ...
systemdにはPROTECT_ERRNOというマクロがある。使い方はこんな感じ。 src/shared/util.c int unlink_noerrno(const char *path)...
コンパイルに必要なライブラリを見ると、プログラムがどういう機能を提供しているかがわかるはずということで調べてみた。リストはREADMEにあります。 glibc >= 2.14 libcap...
29 search resultsShowing 1~20 results
Qiita is a knowledge sharing service for engineers.