第41章 コンパイラーとツール

実行可能スタックが無効になっていると JIT テクニックで正規表現のパフォーマンスが強化されない

SELinux モジュールポリシーが実行可能スタックを許可しない場合、PCRE ライブラリーは JIT コンパイルを使用した正規表現のスピードアップが実行できません。このため、正規表現での JIT コンパイルの試行が無視され、パフォーマンスが強化されません。
この問題を回避するには、影響のある SELinux ドメインで execmem アクションを有効にするルールを使って SELinux ポリシーを修正します。これで JIT コンパイルが有効になります。ルールのいくつかは既に提供されており、特定の SELinux ブール値で有効にできます。これらのブール値を一覧表示するには、以下のコマンドを実行します。
getsebool -a | grep execmem
別の方法では、アプリケーションコードを変更して pcre_study() 関数呼び出しで JIT コンパイルをリクエストしないようにします。(BZ#1290432)