1

Sparc上の64ビットSolarisでは、atomic_cas_64()関数呼び出しはload-link / condition-storeを使用して実装されていますか?

そうでない場合、Solarisがll/scを利用するためのユーザーモードCコード用のAPIを提供しているとしたらどうでしょうか。

4

2 に答える 2

1

Sparc64 は、最近の CPU の中で唯一、倍幅の CAS も LL/SC も実装していません。そのため、ロックフリー コードの実装には問題があります。解決策はありますが、それらは CAS または LL/SC をサポートしているため、他のプラットフォームには存在しない問題 (ABA) の解決策です。さらに、この制限により、さまざまなロックフリー アルゴリズムを Sparce に実装することはできません。

于 2009-08-15T18:15:23.240 に答える
0

SPARCSPARCv9の実装を見て、それらが何をするかを正確に確認できます... membar_* 関数 (同じファイル内) を見て、より強力な保証を得るために何ができるかを確認する必要があります。

于 2009-08-12T08:06:16.343 に答える