Tag: memory-barriers

Ein memory-Barriere ist eine spezielle Prozessor-Anweisung, die Einschränkungen hinsichtlich der Reihenfolge, in der Speicherzugriffe werden sichtbar für andere Prozessoren/Kerne in einer multi-Prozessor-oder multi-core-system.

Verhalten der memory-Barriere in Java

Anzahl der Antworten 2 Antworten
Nach dem Lesen mehr blogs/Artikel etc, ich bin jetzt wirklich verwirrt über das Verhalten von load/store-vor - /nach-memory-Barriere. Folgenden 2 Zitate von Doug Lea in einem seiner Klarstellung Artikel über JMM, die sind beide sehr unkompliziert: Alles,

Das ist eine bessere Barriere auf x86: lock+Zustellbett oder xchgl?

Anzahl der Antworten 5 Antworten
Den Linux-kernel verwendet lock; addl $0,0(%%esp) als schreib-Barriere, während die RE2-Bibliothek verwendet xchgl (%0),%0 als schreib-Barriere. Was ist der Unterschied und was ist besser? Tut x86 erfordern auch Lesen barrier-Anweisungen? RE2 definiert die lese-Barriere-Funktion als no-op auf

Macht es keinen Sinn, die LFENCE Anweisung auf x86/x86_64-Prozessoren?

Anzahl der Antworten 3 Antworten
Oft im internet-ich finde, dass LFENCE keinen Sinn macht, in den Prozessoren x86, sprich es tut sich nix , also statt MFENCE wir können absolut schmerzfrei zu verwenden SFENCE, weil MFENCE = SFENCE + LFENCE = SFENCE

Verständnis Von Linux-Kernel-Ringpuffer

Anzahl der Antworten 1 Antworten
Gibt es einen Artikel unter: http://lwn.net/Articles/378262/, beschreibt die Linux-Kernel Ringpuffer-implementation. Ich habe einige Fragen: Hier ist der "Produzent": spin_lock(&producer_lock); unsigned long head = buffer->head; unsigned long tail = ACCESS_ONCE(buffer->tail); if (CIRC_SPACE(head, tail, buffer->size) >= 1) { /*

Speicher Barrieren im userspace? (Linux, x86-64)

Anzahl der Antworten 8 Antworten
Es ist einfach einzurichten Speicher-Barrieren auf der kernel-Seite: die Makros mb, wmb, rmb, usw. sind immer an Ort und Stelle Dank der Linux-kernel-Header. Wie dies auf der Benutzer-Seite? InformationsquelleAutor | 2009-07-26

Schnellste inline-Montage spinlock

Anzahl der Antworten 5 Antworten
Schreibe ich eine Multithread-Anwendung in c++, in denen die Leistung entscheidend ist. Ich brauche eine Menge von sperren beim kopieren von kleinen Strukturen in den einzelnen threads, dafür habe ich die gewählt haben, verwenden Sie spinlocks. Ich

Warum brauchen wir Thread.MemoryBarrier ()?

Anzahl der Antworten 6 Antworten
In "C# 4 in a Nutshell", der Autor zeigt, dass diese Klasse schreiben können, die 0 manchmal ohne MemoryBarrier kann ich zwar nicht reproduzieren, bei meinem Core2Duo: public class Foo { int _answer; bool _complete; public void

Wie verstehe ich Lesememory-Barrieren und Flüchtige?

Anzahl der Antworten 2 Antworten
Einige Sprachen bieten eine volatile - modifier, der beschrieben wird, wie die Durchführung einer "read memory barrier" vor der Lesung, der Speicher, der Rücken eine variable. Einen read memory barrier Häufig beschrieben als ein Weg, um sicherzustellen,

Macht es Sinn, Anweisung LFENCE in Prozessoren x86 / x86_64?

Anzahl der Antworten 3 Antworten
Oft im internet-ich finde, dass LFENCE keinen Sinn macht, in den Prozessoren x86, sprich es tut sich nix , also statt MFENCE wir können absolut schmerzfrei zu verwenden SFENCEweil MFENCE = SFENCE + LFENCE = SFENCE +

Unterschied in mfence und asm volatile (""::: "Erinnerung")

Anzahl der Antworten 3 Antworten
Soweit ich das verstanden habe, ist mfence ist eine hardware-memory-Barriere, während asm volatile ("" : : : "memory") ist eine compiler-Barriere. Aber,kann asm volatile ("" : : : "memory") statt mfence. Dem Grund hab ich verwechselt ist