<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/parisc/include/asm/spinlock.h, branch linux-5.8.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.8.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.8.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-08-19T06:27:07Z</updated>
<entry>
<title>Revert "parisc: Revert "Release spinlocks using ordered store""</title>
<updated>2020-08-19T06:27:07Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2020-07-28T16:56:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0730d6cd49e057ce75f77d6be4098abb80ff86fb'/>
<id>urn:sha1:0730d6cd49e057ce75f77d6be4098abb80ff86fb</id>
<content type='text'>
commit 157e9afcc4fa25068b0e8743bc254a9b56010e13 upstream.

This reverts commit 86d4d068df573a8c2105554624796c086d6bec3d.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v5.0+
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Revert "parisc: Use ldcw instruction for SMP spinlock release barrier"</title>
<updated>2020-08-19T06:27:07Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2020-07-28T16:54:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=56b60c71143a9c24e776c0d542a76e91edfaa451'/>
<id>urn:sha1:56b60c71143a9c24e776c0d542a76e91edfaa451</id>
<content type='text'>
commit 6e9f06ee6c9566f3606d93182ac8f803a148504b upstream.

This reverts commit 9e5c602186a692a7e848c0da17aed40f49d30519.
No need to use the ldcw instruction as SMP spinlock release barrier.
Revert it to gain back speed again.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v5.2+
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Revert "parisc: Improve interrupt handling in arch_spin_lock_flags()"</title>
<updated>2020-08-19T06:27:06Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2020-07-28T16:49:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6044b0d92ac6c52dec214b061cd3d5bc4202cc55'/>
<id>urn:sha1:6044b0d92ac6c52dec214b061cd3d5bc4202cc55</id>
<content type='text'>
commit 3d05b8aebc5f10ee3ab129b61100196855dd7249 upstream.

This reverts commit 2772f0efd5bbd5413db3d22e363b779ca0fa5310.
It turns out that we want to implement the spinlock code differently.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v5.7+
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>parisc: Rework arch_rw locking functions</title>
<updated>2020-04-05T20:29:55Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2020-04-05T20:29:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fbdc8f0f4891df7b5eb643ec0a509a4ac7dcfc2e'/>
<id>urn:sha1:fbdc8f0f4891df7b5eb643ec0a509a4ac7dcfc2e</id>
<content type='text'>
Clean up the arch read/write locking functions based on the arc
implemenation. This improves readability of those functions.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Improve interrupt handling in arch_spin_lock_flags()</title>
<updated>2020-04-05T20:16:38Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2020-04-05T20:08:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2772f0efd5bbd5413db3d22e363b779ca0fa5310'/>
<id>urn:sha1:2772f0efd5bbd5413db3d22e363b779ca0fa5310</id>
<content type='text'>
Rewrite arch_spin_lock() and arch_spin_lock_flags() to not re-enable and
disable the PSW_SM_I interrupt flag too often.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Use ldcw instruction for SMP spinlock release barrier</title>
<updated>2019-05-03T21:47:40Z</updated>
<author>
<name>John David Anglin</name>
</author>
<published>2019-04-14T23:20:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9e5c602186a692a7e848c0da17aed40f49d30519'/>
<id>urn:sha1:9e5c602186a692a7e848c0da17aed40f49d30519</id>
<content type='text'>
There are only a couple of instructions that can function as a memory
barrier on parisc.  Currently, we use the sync instruction as a memory
barrier when releasing a spinlock.  However, the ldcw instruction is a
better barrier when we have a handy memory location since it operates in
the cache on coherent machines.

This patch updates the spinlock release code to use ldcw.  I also
changed the "stw,ma" instructions to "stw" instructions as it is not an
adequate barrier.

Signed-off-by: John David Anglin &lt;dave.anglin@bell.net&gt;
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Revert "Release spinlocks using ordered store"</title>
<updated>2018-11-06T11:03:22Z</updated>
<author>
<name>John David Anglin</name>
</author>
<published>2018-11-06T11:00:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=86d4d068df573a8c2105554624796c086d6bec3d'/>
<id>urn:sha1:86d4d068df573a8c2105554624796c086d6bec3d</id>
<content type='text'>
This reverts commit d27dfa13b9f77ae7e6ed09d70a0426ed26c1a8f9.

Unfortunately, this patch needs to be reverted.  We need the full sync
barrier and not the limited barrier provided by using an ordered store.
The sync ensures that all accesses and cache purge instructions that
follow the sync are performed after all such instructions prior the sync
instruction have completed executing.

The patch breaks the rwlock implementation in glibc.  This caused the
test-lock application in the libprelude testsuite to hang.  With the
change reverted, the test runs correctly and the libprelude package
builds successfully.

Signed-off-by: John David Anglin &lt;dave.anglin@bell.net&gt;
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Release spinlocks using ordered store</title>
<updated>2018-10-17T06:18:01Z</updated>
<author>
<name>John David Anglin</name>
</author>
<published>2018-10-17T01:07:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d27dfa13b9f77ae7e6ed09d70a0426ed26c1a8f9'/>
<id>urn:sha1:d27dfa13b9f77ae7e6ed09d70a0426ed26c1a8f9</id>
<content type='text'>
This patch updates the spin unlock code to use an ordered store with
release semanatics.  All prior accesses are guaranteed to be performed
before an ordered store is performed.

Using an ordered store is significantly faster than using the sync
memory barrier.

Signed-off-by: John David Anglin &lt;dave.anglin@bell.net&gt;
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Remove unnecessary barriers from spinlock.h</title>
<updated>2018-08-13T07:31:25Z</updated>
<author>
<name>John David Anglin</name>
</author>
<published>2018-08-12T20:31:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3b885ac1dc35b87a39ee176a6c7e2af9c789d8b8'/>
<id>urn:sha1:3b885ac1dc35b87a39ee176a6c7e2af9c789d8b8</id>
<content type='text'>
Now that mb() is an instruction barrier, it will slow performance if we issue
unnecessary barriers.

The spinlock defines have a number of unnecessary barriers.  The __ldcw()
define is both a hardware and compiler barrier.  The mb() barriers in the
routines using __ldcw() serve no purpose.

The only barrier needed is the one in arch_spin_unlock().  We need to ensure
all accesses are complete prior to releasing the lock.

Signed-off-by: John David Anglin &lt;dave.anglin@bell.net&gt;
Cc: stable@vger.kernel.org # 4.0+
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>Merge branch 'linus' into locking/core, to resolve conflicts</title>
<updated>2017-11-07T09:32:44Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2017-11-07T09:32:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8c5db92a705d9e2c986adec475980d1120fa07b4'/>
<id>urn:sha1:8c5db92a705d9e2c986adec475980d1120fa07b4</id>
<content type='text'>
Conflicts:
	include/linux/compiler-clang.h
	include/linux/compiler-gcc.h
	include/linux/compiler-intel.h
	include/uapi/linux/stddef.h

Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
</feed>
