spinlock

    0

    1答えて

    ftraceと同様に、armv7ボード上でカーネルを起動するときに呼び出されるすべての関数のアドレスを出力する機能があります。アドレスはstart_kernelファンクションコールでsetup_archファンクションコールの前に正しく印刷されますが、そのあとランダムアドレスが印刷されます。私は、スピードロックの問題は、これらのアドレスがマッピングされると_raw_spin_lock_irqsave

    0

    1答えて

    私は、PCがマルチコアを持っているとします。 3つの異なるコアで動作する3つのスレッドがあります。スレッド(T1)がコア(C1)でスピンロック(S)を取得し、T1によって取得ロックを取得し、コアC2で実行中の同じT2およびT3スレッドとロックの取得を待機します。 T1スレッドがロックを解放すると、どのスレッドがT2またはT3のいずれかのロックを取得しますか?私はT2とT3の優先順位を同じにしている

    0

    1答えて

    ドライバコンテキストでのスピンロックと遅延に関する一般的な質問があります。私はgpioで読み書きするLinuxドライバを持っています。読み出しおよび書き込み動作は単一のピンで行われ、完全にタイミングベースである(HDQプロトコル)。元のドライバはudelay()呼び出しを使用して実装されており、最悪のシナリオは約500 usです。 ドライバーは割り込みとして何も実装していません。特定のGPIOで通

    1

    1答えて

    私は、CLHロックのスループットをテストするための簡単なプログラムを作成しました。 「マルチコアプログラミングの芸術」の本で説明したようなコードがあります。次に、変化するスレッド数で10秒間カウンタを実行し、スループットとしてカウンタ/ 10.0を定義しました。 私の質問は、私が得た結果が論理的な範囲内にあるかどうかと、それが彼らの方法である理由かもしれません。私はCLHロックのスループットの低下

    0

    1答えて

    質問の前で少し議論。カーネルモードでシステムコールを処理しているときにcontext-switchが必要な場合は、set_need_reschedを実行してフラグを立ててから、ユーザーモードに戻ると、フラグを立ててコンテキストスイッチを実行します。 先行カーネルを持つlinux 2.6と比較することができます。 カーネルを2.4にしてset_need_resched(raiseフラグ)をsched

    0

    1答えて

    typedef struct spinlock { union { struct raw_spinlock rlock; struct { u8 __padding[]; struct lockdep_map dep_map; }; }; } spinlock_t; なぜ、 "de

    0

    1答えて

    私は現在、ユーザースペースに値を返さなければならないreturnステートメントと組み合わせて、カーネルスピンロックの正しい実装に苦労しています。 2つの質問が生じた。この時点で asmlinkage bool sys_kernel_entropy_is_recording(void) { spin_lock(&entropy_analysis_lock); ret

    0

    1答えて

    私はコンピューターサイエンスの学生です。スピンロックを使用してスレッドをロックし、クリティカルセクションが完了するとロックを解除するように要求しています。難しかったのは何度もGoogleで検索しましたが、有用な情報が見つかりませんでした。例えば、#include <linux/spinlock.h>のようなヘッダーをインクルードしようとしましたが、gccを使用してこのcプログラムをコンパイルすると

    1

    1答えて

    に前のノードを必要とする: public class CLHLock{ private final AtomicReference tail; // why we need this node? private final ThreadLocal myPred; private final ThreadLocal myNode; publi

    0

    2答えて

    誰かが知っていますか?perfが常に_raw_spin_unlock_irqrestoreまたはその他のスピンロック解除機能を表示するのはなぜですか? spin_unlockの実装は、通常、spin_lockと比較して簡単です。 spin_lockに大きな競合がある場合、perfはspin_lockに結果を表示しませんか?