linuxのメモ

Linux kernelの実装を解説していきます (対象ver 4.5)

atomic操作 - __smp_load_acquire()

概要

指定された値をatomicに読み込む

詳細

READ_ONCE()で値を取得するが、取得元の値がatomicに取得可能な値かcompiletime_assert_atomic_type()で確認する

その後 CONFIG_X86_PPRO_FENCEが定義されている場合は__smp_mb()を、未定義の場合はbarrier()を実行し返り値が取得した値になることを強制する