* [PATCH v2 0/3] checkpatch: handling of memory barriers
@ 2016-01-10 11:56 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:56 UTC (permalink / raw)
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
Cc: Andy Whitcroft, Joe Perches, Peter Zijlstra, Arnd Bergmann,
linux-arch-u79uwXL29TY76Z2rM5mHXA, Andrew Cooper,
virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
Stefano Stabellini, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
David Miller, linux-ia64-u79uwXL29TY76Z2rM5mHXA,
linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-s390-u79uwXL29TY76Z2rM5mHXA,
sparclinux-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-metag-u79uwXL29TY76Z2rM5mHXA,
linux-mips-6z/3iImG2C8G8FEW9MqTrA, x86-DgEjT+Ai2ygdnm+yROfE0A,
user-mode-linux-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
adi-buildroot-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
linux-sh-u79uwXL29TY76Z2rM5mHXA,
linux-xtensa-PjhNF2WwrV/0Sa2dR60CXw,
xen-devel-GuqFBffKawtpuQazS67q72D2FQJk+8+b, Ingo Molnar, Ton
As part of memory barrier cleanup, this patchset
extends checkpatch to make it easier to stop
incorrect memory barrier usage.
This applies on top of my series
arch: barrier cleanup + barriers for virt
and will be included in the next version of the series.
Changes from v2:
catch optional\s* before () in barriers
rewrite using qr{} instead of map
Michael S. Tsirkin (3):
checkpatch.pl: add missing memory barriers
checkpatch: check for __smp outside barrier.h
checkpatch: add virt barriers
scripts/checkpatch.pl | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
--
MST
^ permalink raw reply [flat|nested] 59+ messages in thread
* [PATCH v2 0/3] checkpatch: handling of memory barriers
@ 2016-01-10 11:56 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:56 UTC (permalink / raw)
To: linux-kernel
Cc: Andy Whitcroft, Joe Perches, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
As part of memory barrier cleanup, this patchset
extends checkpatch to make it easier to stop
incorrect memory barrier usage.
This applies on top of my series
arch: barrier cleanup + barriers for virt
and will be included in the next version of the series.
Changes from v2:
catch optional\s* before () in barriers
rewrite using qr{} instead of map
Michael S. Tsirkin (3):
checkpatch.pl: add missing memory barriers
checkpatch: check for __smp outside barrier.h
checkpatch: add virt barriers
scripts/checkpatch.pl | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
--
MST
^ permalink raw reply [flat|nested] 59+ messages in thread
* [PATCH v2 0/3] checkpatch: handling of memory barriers
@ 2016-01-10 11:56 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:56 UTC (permalink / raw)
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
Cc: Andy Whitcroft, Joe Perches, Peter Zijlstra, Arnd Bergmann,
linux-arch-u79uwXL29TY76Z2rM5mHXA, Andrew Cooper,
virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
Stefano Stabellini, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
David Miller, linux-ia64-u79uwXL29TY76Z2rM5mHXA,
linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-s390-u79uwXL29TY76Z2rM5mHXA,
sparclinux-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-metag-u79uwXL29TY76Z2rM5mHXA,
linux-mips-6z/3iImG2C8G8FEW9MqTrA, x86-DgEjT+Ai2ygdnm+yROfE0A,
user-mode-linux-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
adi-buildroot-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
linux-sh-u79uwXL29TY76Z2rM5mHXA,
linux-xtensa-PjhNF2WwrV/0Sa2dR60CXw,
xen-devel-GuqFBffKawtpuQazS67q72D2FQJk+8+b, Ingo Molnar, Ton
As part of memory barrier cleanup, this patchset
extends checkpatch to make it easier to stop
incorrect memory barrier usage.
This applies on top of my series
arch: barrier cleanup + barriers for virt
and will be included in the next version of the series.
Changes from v2:
catch optional\s* before () in barriers
rewrite using qr{} instead of map
Michael S. Tsirkin (3):
checkpatch.pl: add missing memory barriers
checkpatch: check for __smp outside barrier.h
checkpatch: add virt barriers
scripts/checkpatch.pl | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
--
MST
^ permalink raw reply [flat|nested] 59+ messages in thread
* [PATCH v2 0/3] checkpatch: handling of memory barriers
@ 2016-01-10 11:56 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:56 UTC (permalink / raw)
To: linux-arm-kernel
As part of memory barrier cleanup, this patchset
extends checkpatch to make it easier to stop
incorrect memory barrier usage.
This applies on top of my series
arch: barrier cleanup + barriers for virt
and will be included in the next version of the series.
Changes from v2:
catch optional\s* before () in barriers
rewrite using qr{} instead of map
Michael S. Tsirkin (3):
checkpatch.pl: add missing memory barriers
checkpatch: check for __smp outside barrier.h
checkpatch: add virt barriers
scripts/checkpatch.pl | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
--
MST
^ permalink raw reply [flat|nested] 59+ messages in thread
* [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 11:56 ` Michael S. Tsirkin
(?)
(?)
@ 2016-01-10 11:56 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:56 UTC (permalink / raw)
To: linux-kernel
Cc: Andy Whitcroft, Joe Perches, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Ton
SMP-only barriers were missing in checkpatch.pl
Refactor code slightly to make adding more variants easier.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2b3c228..97b8b62 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5116,7 +5116,25 @@ sub process {
}
}
# check for memory barriers without a comment.
- if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
+
+ my $barriers = qr{
+ mb|
+ rmb|
+ wmb|
+ read_barrier_depends
+ }x;
+ my $smp_barriers = qr{
+ store_release|
+ load_acquire|
+ store_mb|
+ ($barriers)
+ }x;
+ my $all_barriers = qr{
+ $barriers|
+ smp_($smp_barriers)
+ }x;
+
+ if ($line =~ /\b($all_barriers)\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
WARN("MEMORY_BARRIER",
"memory barrier without comment\n" . $herecurr);
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 11:56 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:56 UTC (permalink / raw)
To: linux-kernel
Cc: Andy Whitcroft, Joe Perches, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
SMP-only barriers were missing in checkpatch.pl
Refactor code slightly to make adding more variants easier.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2b3c228..97b8b62 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5116,7 +5116,25 @@ sub process {
}
}
# check for memory barriers without a comment.
- if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
+
+ my $barriers = qr{
+ mb|
+ rmb|
+ wmb|
+ read_barrier_depends
+ }x;
+ my $smp_barriers = qr{
+ store_release|
+ load_acquire|
+ store_mb|
+ ($barriers)
+ }x;
+ my $all_barriers = qr{
+ $barriers|
+ smp_($smp_barriers)
+ }x;
+
+ if ($line =~ /\b($all_barriers)\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
WARN("MEMORY_BARRIER",
"memory barrier without comment\n" . $herecurr);
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 11:56 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:56 UTC (permalink / raw)
To: linux-kernel
Cc: Andy Whitcroft, Joe Perches, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Ton
SMP-only barriers were missing in checkpatch.pl
Refactor code slightly to make adding more variants easier.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2b3c228..97b8b62 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5116,7 +5116,25 @@ sub process {
}
}
# check for memory barriers without a comment.
- if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
+
+ my $barriers = qr{
+ mb|
+ rmb|
+ wmb|
+ read_barrier_depends
+ }x;
+ my $smp_barriers = qr{
+ store_release|
+ load_acquire|
+ store_mb|
+ ($barriers)
+ }x;
+ my $all_barriers = qr{
+ $barriers|
+ smp_($smp_barriers)
+ }x;
+
+ if ($line =~ /\b($all_barriers)\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
WARN("MEMORY_BARRIER",
"memory barrier without comment\n" . $herecurr);
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 11:56 ` Michael S. Tsirkin
` (4 preceding siblings ...)
(?)
@ 2016-01-10 11:56 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:56 UTC (permalink / raw)
To: linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
SMP-only barriers were missing in checkpatch.pl
Refactor code slightly to make adding more variants easier.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2b3c228..97b8b62 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5116,7 +5116,25 @@ sub process {
}
}
# check for memory barriers without a comment.
- if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
+
+ my $barriers = qr{
+ mb|
+ rmb|
+ wmb|
+ read_barrier_depends
+ }x;
+ my $smp_barriers = qr{
+ store_release|
+ load_acquire|
+ store_mb|
+ ($barriers)
+ }x;
+ my $all_barriers = qr{
+ $barriers|
+ smp_($smp_barriers)
+ }x;
+
+ if ($line =~ /\b($all_barriers)\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
WARN("MEMORY_BARRIER",
"memory barrier without comment\n" . $herecurr);
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 11:56 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:56 UTC (permalink / raw)
To: linux-arm-kernel
SMP-only barriers were missing in checkpatch.pl
Refactor code slightly to make adding more variants easier.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2b3c228..97b8b62 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5116,7 +5116,25 @@ sub process {
}
}
# check for memory barriers without a comment.
- if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
+
+ my $barriers = qr{
+ mb|
+ rmb|
+ wmb|
+ read_barrier_depends
+ }x;
+ my $smp_barriers = qr{
+ store_release|
+ load_acquire|
+ store_mb|
+ ($barriers)
+ }x;
+ my $all_barriers = qr{
+ $barriers|
+ smp_($smp_barriers)
+ }x;
+
+ if ($line =~ /\b($all_barriers)\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
WARN("MEMORY_BARRIER",
"memory barrier without comment\n" . $herecurr);
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 11:56 ` Michael S. Tsirkin
` (3 preceding siblings ...)
(?)
@ 2016-01-10 11:56 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:56 UTC (permalink / raw)
To: linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
SMP-only barriers were missing in checkpatch.pl
Refactor code slightly to make adding more variants easier.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2b3c228..97b8b62 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5116,7 +5116,25 @@ sub process {
}
}
# check for memory barriers without a comment.
- if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
+
+ my $barriers = qr{
+ mb|
+ rmb|
+ wmb|
+ read_barrier_depends
+ }x;
+ my $smp_barriers = qr{
+ store_release|
+ load_acquire|
+ store_mb|
+ ($barriers)
+ }x;
+ my $all_barriers = qr{
+ $barriers|
+ smp_($smp_barriers)
+ }x;
+
+ if ($line =~ /\b($all_barriers)\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
WARN("MEMORY_BARRIER",
"memory barrier without comment\n" . $herecurr);
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
2016-01-10 11:56 ` Michael S. Tsirkin
` (3 preceding siblings ...)
(?)
@ 2016-01-10 11:57 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
Introduction of __smp barriers cleans up a bunch of duplicate code, but
it gives people an additional handle onto a "new" set of barriers - just
because they're prefixed with __* unfortunately doesn't stop anyone from
using it (as happened with other arch stuff before.)
Add a checkpatch test so it will trigger a warning.
Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 97b8b62..a96adcb 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5141,6 +5141,16 @@ sub process {
}
}
+ my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
+
+ if ($realfile !~ m@^include/asm-generic/@ &&
+ $realfile !~ m@/barrier\.h$@ &&
+ $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
+ $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
+ WARN("MEMORY_BARRIER",
+ "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
+ }
+
# check for waitqueue_active without a comment.
if ($line =~ /\bwaitqueue_active\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
@ 2016-01-10 11:57 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-kernel
Cc: Andy Whitcroft, Joe Perches, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
Introduction of __smp barriers cleans up a bunch of duplicate code, but
it gives people an additional handle onto a "new" set of barriers - just
because they're prefixed with __* unfortunately doesn't stop anyone from
using it (as happened with other arch stuff before.)
Add a checkpatch test so it will trigger a warning.
Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 97b8b62..a96adcb 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5141,6 +5141,16 @@ sub process {
}
}
+ my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
+
+ if ($realfile !~ m@^include/asm-generic/@ &&
+ $realfile !~ m@/barrier\.h$@ &&
+ $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
+ $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
+ WARN("MEMORY_BARRIER",
+ "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
+ }
+
# check for waitqueue_active without a comment.
if ($line =~ /\bwaitqueue_active\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
@ 2016-01-10 11:57 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
Introduction of __smp barriers cleans up a bunch of duplicate code, but
it gives people an additional handle onto a "new" set of barriers - just
because they're prefixed with __* unfortunately doesn't stop anyone from
using it (as happened with other arch stuff before.)
Add a checkpatch test so it will trigger a warning.
Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 97b8b62..a96adcb 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5141,6 +5141,16 @@ sub process {
}
}
+ my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
+
+ if ($realfile !~ m@^include/asm-generic/@ &&
+ $realfile !~ m@/barrier\.h$@ &&
+ $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
+ $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
+ WARN("MEMORY_BARRIER",
+ "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
+ }
+
# check for waitqueue_active without a comment.
if ($line =~ /\bwaitqueue_active\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
@ 2016-01-10 11:57 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
Introduction of __smp barriers cleans up a bunch of duplicate code, but
it gives people an additional handle onto a "new" set of barriers - just
because they're prefixed with __* unfortunately doesn't stop anyone from
using it (as happened with other arch stuff before.)
Add a checkpatch test so it will trigger a warning.
Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 97b8b62..a96adcb 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5141,6 +5141,16 @@ sub process {
}
}
+ my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
+
+ if ($realfile !~ m@^include/asm-generic/@ &&
+ $realfile !~ m@/barrier\.h$@ &&
+ $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
+ $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
+ WARN("MEMORY_BARRIER",
+ "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
+ }
+
# check for waitqueue_active without a comment.
if ($line =~ /\bwaitqueue_active\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
@ 2016-01-10 11:57 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-arm-kernel
Introduction of __smp barriers cleans up a bunch of duplicate code, but
it gives people an additional handle onto a "new" set of barriers - just
because they're prefixed with __* unfortunately doesn't stop anyone from
using it (as happened with other arch stuff before.)
Add a checkpatch test so it will trigger a warning.
Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 97b8b62..a96adcb 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5141,6 +5141,16 @@ sub process {
}
}
+ my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
+
+ if ($realfile !~ m@^include/asm-generic/@ &&
+ $realfile !~ m@/barrier\.h$@ &&
+ $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
+ $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
+ WARN("MEMORY_BARRIER",
+ "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
+ }
+
# check for waitqueue_active without a comment.
if ($line =~ /\bwaitqueue_active\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
2016-01-10 11:56 ` Michael S. Tsirkin
` (5 preceding siblings ...)
(?)
@ 2016-01-10 11:57 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
Introduction of __smp barriers cleans up a bunch of duplicate code, but
it gives people an additional handle onto a "new" set of barriers - just
because they're prefixed with __* unfortunately doesn't stop anyone from
using it (as happened with other arch stuff before.)
Add a checkpatch test so it will trigger a warning.
Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 97b8b62..a96adcb 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5141,6 +5141,16 @@ sub process {
}
}
+ my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
+
+ if ($realfile !~ m@^include/asm-generic/@ &&
+ $realfile !~ m@/barrier\.h$@ &&
+ $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
+ $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
+ WARN("MEMORY_BARRIER",
+ "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
+ }
+
# check for waitqueue_active without a comment.
if ($line =~ /\bwaitqueue_active\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
@ 2016-01-10 11:57 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel,
Andrew Cooper
Introduction of __smp barriers cleans up a bunch of duplicate code, but
it gives people an additional handle onto a "new" set of barriers - just
because they're prefixed with __* unfortunately doesn't stop anyone from
using it (as happened with other arch stuff before.)
Add a checkpatch test so it will trigger a warning.
Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 97b8b62..a96adcb 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5141,6 +5141,16 @@ sub process {
}
}
+ my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
+
+ if ($realfile !~ m@^include/asm-generic/@ &&
+ $realfile !~ m@/barrier\.h$@ &&
+ $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
+ $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
+ WARN("MEMORY_BARRIER",
+ "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
+ }
+
# check for waitqueue_active without a comment.
if ($line =~ /\bwaitqueue_active\s*\(/) {
if (!ctx_has_comment($first_line, $linenr)) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 3/3] checkpatch: add virt barriers
2016-01-10 11:56 ` Michael S. Tsirkin
(?)
(?)
@ 2016-01-10 11:57 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-kernel
Cc: Andy Whitcroft, Joe Perches, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Ton
Add virt_ barriers to list of barriers to check for
presence of a comment.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a96adcb..5ca272b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5131,7 +5131,8 @@ sub process {
}x;
my $all_barriers = qr{
$barriers|
- smp_($smp_barriers)
+ smp_($smp_barriers)|
+ virt_($smp_barriers)
}x;
if ($line =~ /\b($all_barriers)\s*\(/) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 3/3] checkpatch: add virt barriers
@ 2016-01-10 11:57 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-kernel
Cc: Andy Whitcroft, Joe Perches, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
Add virt_ barriers to list of barriers to check for
presence of a comment.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a96adcb..5ca272b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5131,7 +5131,8 @@ sub process {
}x;
my $all_barriers = qr{
$barriers|
- smp_($smp_barriers)
+ smp_($smp_barriers)|
+ virt_($smp_barriers)
}x;
if ($line =~ /\b($all_barriers)\s*\(/) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 3/3] checkpatch: add virt barriers
@ 2016-01-10 11:57 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-kernel
Cc: Andy Whitcroft, Joe Perches, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Ton
Add virt_ barriers to list of barriers to check for
presence of a comment.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a96adcb..5ca272b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5131,7 +5131,8 @@ sub process {
}x;
my $all_barriers = qr{
$barriers|
- smp_($smp_barriers)
+ smp_($smp_barriers)|
+ virt_($smp_barriers)
}x;
if ($line =~ /\b($all_barriers)\s*\(/) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 3/3] checkpatch: add virt barriers
2016-01-10 11:56 ` Michael S. Tsirkin
` (8 preceding siblings ...)
(?)
@ 2016-01-10 11:57 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
Add virt_ barriers to list of barriers to check for
presence of a comment.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a96adcb..5ca272b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5131,7 +5131,8 @@ sub process {
}x;
my $all_barriers = qr{
$barriers|
- smp_($smp_barriers)
+ smp_($smp_barriers)|
+ virt_($smp_barriers)
}x;
if ($line =~ /\b($all_barriers)\s*\(/) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 3/3] checkpatch: add virt barriers
@ 2016-01-10 11:57 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-arm-kernel
Add virt_ barriers to list of barriers to check for
presence of a comment.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a96adcb..5ca272b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5131,7 +5131,8 @@ sub process {
}x;
my $all_barriers = qr{
$barriers|
- smp_($smp_barriers)
+ smp_($smp_barriers)|
+ virt_($smp_barriers)
}x;
if ($line =~ /\b($all_barriers)\s*\(/) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* [PATCH v2 3/3] checkpatch: add virt barriers
2016-01-10 11:56 ` Michael S. Tsirkin
` (9 preceding siblings ...)
(?)
@ 2016-01-10 11:57 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 11:57 UTC (permalink / raw)
To: linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
Add virt_ barriers to list of barriers to check for
presence of a comment.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
scripts/checkpatch.pl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a96adcb..5ca272b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5131,7 +5131,8 @@ sub process {
}x;
my $all_barriers = qr{
$barriers|
- smp_($smp_barriers)
+ smp_($smp_barriers)|
+ virt_($smp_barriers)
}x;
if ($line =~ /\b($all_barriers)\s*\(/) {
--
MST
^ permalink raw reply related [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 11:56 ` Michael S. Tsirkin
` (3 preceding siblings ...)
(?)
@ 2016-01-10 15:07 ` Joe Perches
-1 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:07 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren
On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> SMP-only barriers were missing in checkpatch.pl
>
> Refactor code slightly to make adding more variants easier.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5116,7 +5116,25 @@ sub process {
> }
> }
> # check for memory barriers without a comment.
> - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> +
> + my $barriers = qr{
> + mb|
> + rmb|
> + wmb|
> + read_barrier_depends
> + }x;
> + my $smp_barriers = qr{
> + store_release|
> + load_acquire|
> + store_mb|
> + ($barriers)
> + }x;
If I use a variable called $smp_barriers, I'd expect
it to actually be the smp_barriers, not to have to
prefix it with smp_ before using it.
my $smp_barriers = qr{
smp_store_release|
smp_load_acquire|
smp_store_mb|
smp_read_barrier_depends
}x;
or
my $smp_barriers = qr{
smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
}x;
> + my $all_barriers = qr{
> + $barriers|
> + smp_($smp_barriers)
> + }x;
And this shouldn't have a capture group.
my $all_barriers = qr{
$barriers|
$smp_barriers
}x;
> +
> + if ($line =~ /\b($all_barriers)\s*\(/) {
This doesn't need the capture group either (?:all_barriers)
> if (!ctx_has_comment($first_line, $linenr))
> {
> WARN("MEMORY_BARRIER",
> "memory barrier without
> comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 15:07 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:07 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> SMP-only barriers were missing in checkpatch.pl
>
> Refactor code slightly to make adding more variants easier.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5116,7 +5116,25 @@ sub process {
> }
> }
> # check for memory barriers without a comment.
> - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> +
> + my $barriers = qr{
> + mb|
> + rmb|
> + wmb|
> + read_barrier_depends
> + }x;
> + my $smp_barriers = qr{
> + store_release|
> + load_acquire|
> + store_mb|
> + ($barriers)
> + }x;
If I use a variable called $smp_barriers, I'd expect
it to actually be the smp_barriers, not to have to
prefix it with smp_ before using it.
my $smp_barriers = qr{
smp_store_release|
smp_load_acquire|
smp_store_mb|
smp_read_barrier_depends
}x;
or
my $smp_barriers = qr{
smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
}x;
> + my $all_barriers = qr{
> + $barriers|
> + smp_($smp_barriers)
> + }x;
And this shouldn't have a capture group.
my $all_barriers = qr{
$barriers|
$smp_barriers
}x;
> +
> + if ($line =~ /\b($all_barriers)\s*\(/) {
This doesn't need the capture group either (?:all_barriers)
> if (!ctx_has_comment($first_line, $linenr))
> {
> WARN("MEMORY_BARRIER",
> "memory barrier without
> comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 15:07 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:07 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren
On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> SMP-only barriers were missing in checkpatch.pl
>
> Refactor code slightly to make adding more variants easier.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5116,7 +5116,25 @@ sub process {
> }
> }
> # check for memory barriers without a comment.
> - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> +
> + my $barriers = qr{
> + mb|
> + rmb|
> + wmb|
> + read_barrier_depends
> + }x;
> + my $smp_barriers = qr{
> + store_release|
> + load_acquire|
> + store_mb|
> + ($barriers)
> + }x;
If I use a variable called $smp_barriers, I'd expect
it to actually be the smp_barriers, not to have to
prefix it with smp_ before using it.
my $smp_barriers = qr{
smp_store_release|
smp_load_acquire|
smp_store_mb|
smp_read_barrier_depends
}x;
or
my $smp_barriers = qr{
smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
}x;
> + my $all_barriers = qr{
> + $barriers|
> + smp_($smp_barriers)
> + }x;
And this shouldn't have a capture group.
my $all_barriers = qr{
$barriers|
$smp_barriers
}x;
> +
> + if ($line =~ /\b($all_barriers)\s*\(/) {
This doesn't need the capture group either (?:all_barriers)
> if (!ctx_has_comment($first_line, $linenr))
> {
> WARN("MEMORY_BARRIER",
> "memory barrier without
> comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 15:07 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:07 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> SMP-only barriers were missing in checkpatch.pl
>
> Refactor code slightly to make adding more variants easier.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5116,7 +5116,25 @@ sub process {
> }
> }
> # check for memory barriers without a comment.
> - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> +
> + my $barriers = qr{
> + mb|
> + rmb|
> + wmb|
> + read_barrier_depends
> + }x;
> + my $smp_barriers = qr{
> + store_release|
> + load_acquire|
> + store_mb|
> + ($barriers)
> + }x;
If I use a variable called $smp_barriers, I'd expect
it to actually be the smp_barriers, not to have to
prefix it with smp_ before using it.
my $smp_barriers = qr{
smp_store_release|
smp_load_acquire|
smp_store_mb|
smp_read_barrier_depends
}x;
or
my $smp_barriers = qr{
smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
}x;
> + my $all_barriers = qr{
> + $barriers|
> + smp_($smp_barriers)
> + }x;
And this shouldn't have a capture group.
my $all_barriers = qr{
$barriers|
$smp_barriers
}x;
> +
> + if ($line =~ /\b($all_barriers)\s*\(/) {
This doesn't need the capture group either (?:all_barriers)
> if (!ctx_has_comment($first_line, $linenr))
> {
> WARN("MEMORY_BARRIER",
> "memory barrier without
> comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 11:56 ` Michael S. Tsirkin
` (3 preceding siblings ...)
(?)
@ 2016-01-10 15:07 ` Joe Perches
-1 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:07 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> SMP-only barriers were missing in checkpatch.pl
>
> Refactor code slightly to make adding more variants easier.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5116,7 +5116,25 @@ sub process {
> }
> }
> # check for memory barriers without a comment.
> - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> +
> + my $barriers = qr{
> + mb|
> + rmb|
> + wmb|
> + read_barrier_depends
> + }x;
> + my $smp_barriers = qr{
> + store_release|
> + load_acquire|
> + store_mb|
> + ($barriers)
> + }x;
If I use a variable called $smp_barriers, I'd expect
it to actually be the smp_barriers, not to have to
prefix it with smp_ before using it.
my $smp_barriers = qr{
smp_store_release|
smp_load_acquire|
smp_store_mb|
smp_read_barrier_depends
}x;
or
my $smp_barriers = qr{
smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
}x;
> + my $all_barriers = qr{
> + $barriers|
> + smp_($smp_barriers)
> + }x;
And this shouldn't have a capture group.
my $all_barriers = qr{
$barriers|
$smp_barriers
}x;
> +
> + if ($line =~ /\b($all_barriers)\s*\(/) {
This doesn't need the capture group either (?:all_barriers)
> if (!ctx_has_comment($first_line, $linenr))
> {
> WARN("MEMORY_BARRIER",
> "memory barrier without
> comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 15:07 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:07 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> SMP-only barriers were missing in checkpatch.pl
>
> Refactor code slightly to make adding more variants easier.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5116,7 +5116,25 @@ sub process {
> ? }
> ? }
> ?# check for memory barriers without a comment.
> - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> +
> + my $barriers = qr{
> + mb|
> + rmb|
> + wmb|
> + read_barrier_depends
> + }x;
> + my $smp_barriers = qr{
> + store_release|
> + load_acquire|
> + store_mb|
> + ($barriers)
> + }x;
If I use a variable called $smp_barriers, I'd expect
it to actually be the smp_barriers, not to have to
prefix it with smp_ before using it.
my $smp_barriers = qr{
smp_store_release|
smp_load_acquire|
smp_store_mb|
smp_read_barrier_depends
}x;
or
my $smp_barriers = qr{
smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
}x;
?
> + my $all_barriers = qr{
> + $barriers|
> + smp_($smp_barriers)
> + }x;
And this shouldn't have a capture group.
my $all_barriers = qr{
$barriers|
$smp_barriers
}x;
> +
> + if ($line =~ /\b($all_barriers)\s*\(/) {
This doesn't need the capture group either (?:all_barriers)
> ? if (!ctx_has_comment($first_line, $linenr))
> {
> ? WARN("MEMORY_BARRIER",
> ? ?????"memory barrier without
> comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 11:56 ` Michael S. Tsirkin
` (2 preceding siblings ...)
(?)
@ 2016-01-10 15:07 ` Joe Perches
-1 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:07 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> SMP-only barriers were missing in checkpatch.pl
>
> Refactor code slightly to make adding more variants easier.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5116,7 +5116,25 @@ sub process {
> }
> }
> # check for memory barriers without a comment.
> - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> +
> + my $barriers = qr{
> + mb|
> + rmb|
> + wmb|
> + read_barrier_depends
> + }x;
> + my $smp_barriers = qr{
> + store_release|
> + load_acquire|
> + store_mb|
> + ($barriers)
> + }x;
If I use a variable called $smp_barriers, I'd expect
it to actually be the smp_barriers, not to have to
prefix it with smp_ before using it.
my $smp_barriers = qr{
smp_store_release|
smp_load_acquire|
smp_store_mb|
smp_read_barrier_depends
}x;
or
my $smp_barriers = qr{
smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
}x;
> + my $all_barriers = qr{
> + $barriers|
> + smp_($smp_barriers)
> + }x;
And this shouldn't have a capture group.
my $all_barriers = qr{
$barriers|
$smp_barriers
}x;
> +
> + if ($line =~ /\b($all_barriers)\s*\(/) {
This doesn't need the capture group either (?:all_barriers)
> if (!ctx_has_comment($first_line, $linenr))
> {
> WARN("MEMORY_BARRIER",
> "memory barrier without
> comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 15:07 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:07 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> SMP-only barriers were missing in checkpatch.pl
>
> Refactor code slightly to make adding more variants easier.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5116,7 +5116,25 @@ sub process {
> � }
> � }
> �# check for memory barriers without a comment.
> - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> +
> + my $barriers = qr{
> + mb|
> + rmb|
> + wmb|
> + read_barrier_depends
> + }x;
> + my $smp_barriers = qr{
> + store_release|
> + load_acquire|
> + store_mb|
> + ($barriers)
> + }x;
If I use a variable called $smp_barriers, I'd expect
it to actually be the smp_barriers, not to have to
prefix it with smp_ before using it.
my $smp_barriers = qr{
smp_store_release|
smp_load_acquire|
smp_store_mb|
smp_read_barrier_depends
}x;
or
my $smp_barriers = qr{
smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
}x;
�
> + my $all_barriers = qr{
> + $barriers|
> + smp_($smp_barriers)
> + }x;
And this shouldn't have a capture group.
my $all_barriers = qr{
$barriers|
$smp_barriers
}x;
> +
> + if ($line =~ /\b($all_barriers)\s*\(/) {
This doesn't need the capture group either (?:all_barriers)
> � if (!ctx_has_comment($first_line, $linenr))
> {
> � WARN("MEMORY_BARRIER",
> � �����"memory barrier without
> comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
2016-01-10 11:57 ` Michael S. Tsirkin
` (3 preceding siblings ...)
(?)
@ 2016-01-10 15:08 ` Joe Perches
-1 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:08 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren
On Sun, 2016-01-10 at 13:57 +0200, Michael S. Tsirkin wrote:
> Introduction of __smp barriers cleans up a bunch of duplicate code, but
> it gives people an additional handle onto a "new" set of barriers - just
> because they're prefixed with __* unfortunately doesn't stop anyone from
> using it (as happened with other arch stuff before.)
>
> Add a checkpatch test so it will trigger a warning.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5141,6 +5141,16 @@ sub process {
> }
> }
>
> + my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
another unnecessary capture group
> +
> + if ($realfile !~ m@^include/asm-generic/@ &&
> + $realfile !~ m@/barrier\.h$@ &&
> + $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
> + $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
> + WARN("MEMORY_BARRIER",
> + "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
> + }
> +
> # check for waitqueue_active without a comment.
> if ($line =~ /\bwaitqueue_active\s*\(/) {
> if (!ctx_has_comment($first_line, $linenr)) {
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
@ 2016-01-10 15:08 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:08 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
On Sun, 2016-01-10 at 13:57 +0200, Michael S. Tsirkin wrote:
> Introduction of __smp barriers cleans up a bunch of duplicate code, but
> it gives people an additional handle onto a "new" set of barriers - just
> because they're prefixed with __* unfortunately doesn't stop anyone from
> using it (as happened with other arch stuff before.)
>
> Add a checkpatch test so it will trigger a warning.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5141,6 +5141,16 @@ sub process {
> }
> }
>
> + my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
another unnecessary capture group
> +
> + if ($realfile !~ m@^include/asm-generic/@ &&
> + $realfile !~ m@/barrier\.h$@ &&
> + $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
> + $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
> + WARN("MEMORY_BARRIER",
> + "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
> + }
> +
> # check for waitqueue_active without a comment.
> if ($line =~ /\bwaitqueue_active\s*\(/) {
> if (!ctx_has_comment($first_line, $linenr)) {
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
@ 2016-01-10 15:08 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:08 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren
On Sun, 2016-01-10 at 13:57 +0200, Michael S. Tsirkin wrote:
> Introduction of __smp barriers cleans up a bunch of duplicate code, but
> it gives people an additional handle onto a "new" set of barriers - just
> because they're prefixed with __* unfortunately doesn't stop anyone from
> using it (as happened with other arch stuff before.)
>
> Add a checkpatch test so it will trigger a warning.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5141,6 +5141,16 @@ sub process {
> }
> }
>
> + my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
another unnecessary capture group
> +
> + if ($realfile !~ m@^include/asm-generic/@ &&
> + $realfile !~ m@/barrier\.h$@ &&
> + $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
> + $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
> + WARN("MEMORY_BARRIER",
> + "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
> + }
> +
> # check for waitqueue_active without a comment.
> if ($line =~ /\bwaitqueue_active\s*\(/) {
> if (!ctx_has_comment($first_line, $linenr)) {
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
@ 2016-01-10 15:08 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:08 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
On Sun, 2016-01-10 at 13:57 +0200, Michael S. Tsirkin wrote:
> Introduction of __smp barriers cleans up a bunch of duplicate code, but
> it gives people an additional handle onto a "new" set of barriers - just
> because they're prefixed with __* unfortunately doesn't stop anyone from
> using it (as happened with other arch stuff before.)
>
> Add a checkpatch test so it will trigger a warning.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5141,6 +5141,16 @@ sub process {
> }
> }
>
> + my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
another unnecessary capture group
> +
> + if ($realfile !~ m@^include/asm-generic/@ &&
> + $realfile !~ m@/barrier\.h$@ &&
> + $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
> + $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
> + WARN("MEMORY_BARRIER",
> + "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
> + }
> +
> # check for waitqueue_active without a comment.
> if ($line =~ /\bwaitqueue_active\s*\(/) {
> if (!ctx_has_comment($first_line, $linenr)) {
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
2016-01-10 11:57 ` Michael S. Tsirkin
` (5 preceding siblings ...)
(?)
@ 2016-01-10 15:08 ` Joe Perches
-1 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:08 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
On Sun, 2016-01-10 at 13:57 +0200, Michael S. Tsirkin wrote:
> Introduction of __smp barriers cleans up a bunch of duplicate code, but
> it gives people an additional handle onto a "new" set of barriers - just
> because they're prefixed with __* unfortunately doesn't stop anyone from
> using it (as happened with other arch stuff before.)
>
> Add a checkpatch test so it will trigger a warning.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5141,6 +5141,16 @@ sub process {
> }
> }
>
> + my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
another unnecessary capture group
> +
> + if ($realfile !~ m@^include/asm-generic/@ &&
> + $realfile !~ m@/barrier\.h$@ &&
> + $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
> + $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
> + WARN("MEMORY_BARRIER",
> + "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
> + }
> +
> # check for waitqueue_active without a comment.
> if ($line =~ /\bwaitqueue_active\s*\(/) {
> if (!ctx_has_comment($first_line, $linenr)) {
^ permalink raw reply [flat|nested] 59+ messages in thread
* [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
@ 2016-01-10 15:08 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:08 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, 2016-01-10 at 13:57 +0200, Michael S. Tsirkin wrote:
> Introduction of __smp barriers cleans up a bunch of duplicate code, but
> it gives people an additional handle onto a "new" set of barriers - just
> because they're prefixed with __* unfortunately doesn't stop anyone from
> using it (as happened with other arch stuff before.)
>
> Add a checkpatch test so it will trigger a warning.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5141,6 +5141,16 @@ sub process {
> ? }
> ? }
> ?
> + my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
another unnecessary capture group
> +
> + if ($realfile !~ m@^include/asm-generic/@ &&
> + ????$realfile !~ m@/barrier\.h$@ &&
> + ????$line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
> + ????$line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
> + WARN("MEMORY_BARRIER",
> + ?????"__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
> + }
> +
> ?# check for waitqueue_active without a comment.
> ? if ($line =~ /\bwaitqueue_active\s*\(/) {
> ? if (!ctx_has_comment($first_line, $linenr)) {
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
2016-01-10 11:57 ` Michael S. Tsirkin
` (4 preceding siblings ...)
(?)
@ 2016-01-10 15:08 ` Joe Perches
-1 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:08 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
On Sun, 2016-01-10 at 13:57 +0200, Michael S. Tsirkin wrote:
> Introduction of __smp barriers cleans up a bunch of duplicate code, but
> it gives people an additional handle onto a "new" set of barriers - just
> because they're prefixed with __* unfortunately doesn't stop anyone from
> using it (as happened with other arch stuff before.)
>
> Add a checkpatch test so it will trigger a warning.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5141,6 +5141,16 @@ sub process {
> }
> }
>
> + my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
another unnecessary capture group
> +
> + if ($realfile !~ m@^include/asm-generic/@ &&
> + $realfile !~ m@/barrier\.h$@ &&
> + $line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
> + $line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
> + WARN("MEMORY_BARRIER",
> + "__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
> + }
> +
> # check for waitqueue_active without a comment.
> if ($line =~ /\bwaitqueue_active\s*\(/) {
> if (!ctx_has_comment($first_line, $linenr)) {
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h
@ 2016-01-10 15:08 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:08 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
On Sun, 2016-01-10 at 13:57 +0200, Michael S. Tsirkin wrote:
> Introduction of __smp barriers cleans up a bunch of duplicate code, but
> it gives people an additional handle onto a "new" set of barriers - just
> because they're prefixed with __* unfortunately doesn't stop anyone from
> using it (as happened with other arch stuff before.)
>
> Add a checkpatch test so it will trigger a warning.
[]
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -5141,6 +5141,16 @@ sub process {
> � }
> � }
> �
> + my $underscore_smp_barriers = qr{__smp_($smp_barriers)}x;
another unnecessary capture group
> +
> + if ($realfile !~ m@^include/asm-generic/@ &&
> + ����$realfile !~ m@/barrier\.h$@ &&
> + ����$line =~ m/\b($underscore_smp_barriers)\s*\(/ &&
> + ����$line !~ m/^.\s*\#\s*define\s+($underscore_smp_barriers)\s*\(/) {
> + WARN("MEMORY_BARRIER",
> + �����"__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
> + }
> +
> �# check for waitqueue_active without a comment.
> � if ($line =~ /\bwaitqueue_active\s*\(/) {
> � if (!ctx_has_comment($first_line, $linenr)) {
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 15:07 ` Joe Perches
` (2 preceding siblings ...)
(?)
@ 2016-01-10 15:17 ` Joe Perches
-1 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:17 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel-u79uwXL29TY76Z2rM5mHXA
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann,
linux-arch-u79uwXL29TY76Z2rM5mHXA, Andrew Cooper,
virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
Stefano Stabellini, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
David Miller, linux-ia64-u79uwXL29TY76Z2rM5mHXA,
linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-s390-u79uwXL29TY76Z2rM5mHXA,
sparclinux-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-metag-u79uwXL29TY76Z2rM5mHXA,
linux-mips-6z/3iImG2C8G8FEW9MqTrA, x86-DgEjT+Ai2ygdnm+yROfE0A,
user-mode-linux-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
adi-buildroot-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
linux-sh-u79uwXL29TY76Z2rM5mHXA,
linux-xtensa-PjhNF2WwrV/0Sa2dR60CXw,
xen-devel-GuqFBffKawtpuQazS67q72D2FQJk+8+b, Ingo Molnar,
Tony Lindgren
On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
That's missing (?:barriers) too.
btw: shouldn't this also have
smp_mb__(?:before|after)_atomic
?
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 15:17 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:17 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
That's missing (?:barriers) too.
btw: shouldn't this also have
smp_mb__(?:before|after)_atomic
?
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 15:17 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:17 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel-u79uwXL29TY76Z2rM5mHXA
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann,
linux-arch-u79uwXL29TY76Z2rM5mHXA, Andrew Cooper,
virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
Stefano Stabellini, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
David Miller, linux-ia64-u79uwXL29TY76Z2rM5mHXA,
linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-s390-u79uwXL29TY76Z2rM5mHXA,
sparclinux-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-metag-u79uwXL29TY76Z2rM5mHXA,
linux-mips-6z/3iImG2C8G8FEW9MqTrA, x86-DgEjT+Ai2ygdnm+yROfE0A,
user-mode-linux-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
adi-buildroot-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
linux-sh-u79uwXL29TY76Z2rM5mHXA,
linux-xtensa-PjhNF2WwrV/0Sa2dR60CXw,
xen-devel-GuqFBffKawtpuQazS67q72D2FQJk+8+b, Ingo Molnar,
Tony Lindgren
On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
That's missing (?:barriers) too.
btw: shouldn't this also have
smp_mb__(?:before|after)_atomic
?
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 15:17 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:17 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Andy Whitcroft, Peter Zijlstra, Arnd Bergmann, linux-arch,
Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
That's missing (?:barriers) too.
btw: shouldn't this also have
smp_mb__(?:before|after)_atomic
?
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 15:07 ` Joe Perches
` (5 preceding siblings ...)
(?)
@ 2016-01-10 15:17 ` Joe Perches
-1 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:17 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
That's missing (?:barriers) too.
btw: shouldn't this also have
smp_mb__(?:before|after)_atomic
?
^ permalink raw reply [flat|nested] 59+ messages in thread
* [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 15:17 ` Joe Perches
0 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:17 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
That's missing (?:barriers) too.
btw: shouldn't this also have
smp_mb__(?:before|after)_atomic
?
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 15:07 ` Joe Perches
` (4 preceding siblings ...)
(?)
@ 2016-01-10 15:17 ` Joe Perches
-1 siblings, 0 replies; 59+ messages in thread
From: Joe Perches @ 2016-01-10 15:17 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
That's missing (?:barriers) too.
btw: shouldn't this also have
smp_mb__(?:before|after)_atomic
?
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 15:07 ` Joe Perches
` (2 preceding siblings ...)
(?)
@ 2016-01-10 19:13 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:13 UTC (permalink / raw)
To: Joe Perches
Cc: linux-kernel, Andy Whitcroft, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony
On Sun, Jan 10, 2016 at 07:07:05AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > @@ -5116,7 +5116,25 @@ sub process {
> > }
> > }
> > # check for memory barriers without a comment.
> > - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> > +
> > + my $barriers = qr{
> > + mb|
> > + rmb|
> > + wmb|
> > + read_barrier_depends
> > + }x;
> > + my $smp_barriers = qr{
> > + store_release|
> > + load_acquire|
> > + store_mb|
> > + ($barriers)
> > + }x;
>
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
> }x;
>
> or
>
> my $smp_barriers = qr{
> smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
> }x;
>
Yes but virt barriers (added in patch 3) are same things but prefixed
with virt_. So we need the stems without smp_ prefix. If smp_barriers is
too confusing we'll just need to give them some other name.
How about:
my $smp_barrier_stems
?
> > + my $all_barriers = qr{
> > + $barriers|
> > + smp_($smp_barriers)
> > + }x;
>
> And this shouldn't have a capture group.
>
> my $all_barriers = qr{
> $barriers|
> $smp_barriers
> }x;
> > +
> > + if ($line =~ /\b($all_barriers)\s*\(/) {
>
> This doesn't need the capture group either (?:all_barriers)
>
> > if (!ctx_has_comment($first_line, $linenr))
> > {
> > WARN("MEMORY_BARRIER",
> > "memory barrier without
> > comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 19:13 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:13 UTC (permalink / raw)
To: Joe Perches
Cc: linux-kernel, Andy Whitcroft, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
On Sun, Jan 10, 2016 at 07:07:05AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > @@ -5116,7 +5116,25 @@ sub process {
> > }
> > }
> > # check for memory barriers without a comment.
> > - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> > +
> > + my $barriers = qr{
> > + mb|
> > + rmb|
> > + wmb|
> > + read_barrier_depends
> > + }x;
> > + my $smp_barriers = qr{
> > + store_release|
> > + load_acquire|
> > + store_mb|
> > + ($barriers)
> > + }x;
>
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
> }x;
>
> or
>
> my $smp_barriers = qr{
> smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
> }x;
>
Yes but virt barriers (added in patch 3) are same things but prefixed
with virt_. So we need the stems without smp_ prefix. If smp_barriers is
too confusing we'll just need to give them some other name.
How about:
my $smp_barrier_stems
?
> > + my $all_barriers = qr{
> > + $barriers|
> > + smp_($smp_barriers)
> > + }x;
>
> And this shouldn't have a capture group.
>
> my $all_barriers = qr{
> $barriers|
> $smp_barriers
> }x;
> > +
> > + if ($line =~ /\b($all_barriers)\s*\(/) {
>
> This doesn't need the capture group either (?:all_barriers)
>
> > if (!ctx_has_comment($first_line, $linenr))
> > {
> > WARN("MEMORY_BARRIER",
> > "memory barrier without
> > comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 19:13 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:13 UTC (permalink / raw)
To: Joe Perches
Cc: linux-kernel, Andy Whitcroft, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony
On Sun, Jan 10, 2016 at 07:07:05AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > @@ -5116,7 +5116,25 @@ sub process {
> > }
> > }
> > # check for memory barriers without a comment.
> > - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> > +
> > + my $barriers = qr{
> > + mb|
> > + rmb|
> > + wmb|
> > + read_barrier_depends
> > + }x;
> > + my $smp_barriers = qr{
> > + store_release|
> > + load_acquire|
> > + store_mb|
> > + ($barriers)
> > + }x;
>
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
> }x;
>
> or
>
> my $smp_barriers = qr{
> smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
> }x;
>
Yes but virt barriers (added in patch 3) are same things but prefixed
with virt_. So we need the stems without smp_ prefix. If smp_barriers is
too confusing we'll just need to give them some other name.
How about:
my $smp_barrier_stems
?
> > + my $all_barriers = qr{
> > + $barriers|
> > + smp_($smp_barriers)
> > + }x;
>
> And this shouldn't have a capture group.
>
> my $all_barriers = qr{
> $barriers|
> $smp_barriers
> }x;
> > +
> > + if ($line =~ /\b($all_barriers)\s*\(/) {
>
> This doesn't need the capture group either (?:all_barriers)
>
> > if (!ctx_has_comment($first_line, $linenr))
> > {
> > WARN("MEMORY_BARRIER",
> > "memory barrier without
> > comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 15:07 ` Joe Perches
` (7 preceding siblings ...)
(?)
@ 2016-01-10 19:13 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:13 UTC (permalink / raw)
To: Joe Perches
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
On Sun, Jan 10, 2016 at 07:07:05AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > @@ -5116,7 +5116,25 @@ sub process {
> > }
> > }
> > # check for memory barriers without a comment.
> > - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> > +
> > + my $barriers = qr{
> > + mb|
> > + rmb|
> > + wmb|
> > + read_barrier_depends
> > + }x;
> > + my $smp_barriers = qr{
> > + store_release|
> > + load_acquire|
> > + store_mb|
> > + ($barriers)
> > + }x;
>
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
> }x;
>
> or
>
> my $smp_barriers = qr{
> smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
> }x;
>
Yes but virt barriers (added in patch 3) are same things but prefixed
with virt_. So we need the stems without smp_ prefix. If smp_barriers is
too confusing we'll just need to give them some other name.
How about:
my $smp_barrier_stems
?
> > + my $all_barriers = qr{
> > + $barriers|
> > + smp_($smp_barriers)
> > + }x;
>
> And this shouldn't have a capture group.
>
> my $all_barriers = qr{
> $barriers|
> $smp_barriers
> }x;
> > +
> > + if ($line =~ /\b($all_barriers)\s*\(/) {
>
> This doesn't need the capture group either (?:all_barriers)
>
> > if (!ctx_has_comment($first_line, $linenr))
> > {
> > WARN("MEMORY_BARRIER",
> > "memory barrier without
> > comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 19:13 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:13 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Jan 10, 2016 at 07:07:05AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > @@ -5116,7 +5116,25 @@ sub process {
> > ? }
> > ? }
> > ?# check for memory barriers without a comment.
> > - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> > +
> > + my $barriers = qr{
> > + mb|
> > + rmb|
> > + wmb|
> > + read_barrier_depends
> > + }x;
> > + my $smp_barriers = qr{
> > + store_release|
> > + load_acquire|
> > + store_mb|
> > + ($barriers)
> > + }x;
>
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
> }x;
>
> or
>
> my $smp_barriers = qr{
> smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
> }x;
>
Yes but virt barriers (added in patch 3) are same things but prefixed
with virt_. So we need the stems without smp_ prefix. If smp_barriers is
too confusing we'll just need to give them some other name.
How about:
my $smp_barrier_stems
?
> > + my $all_barriers = qr{
> > + $barriers|
> > + smp_($smp_barriers)
> > + }x;
>
> And this shouldn't have a capture group.
>
> my $all_barriers = qr{
> $barriers|
> $smp_barriers
> }x;
> > +
> > + if ($line =~ /\b($all_barriers)\s*\(/) {
>
> This doesn't need the capture group either (?:all_barriers)
>
> > ? if (!ctx_has_comment($first_line, $linenr))
> > {
> > ? WARN("MEMORY_BARRIER",
> > ? ?????"memory barrier without
> > comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 15:07 ` Joe Perches
` (9 preceding siblings ...)
(?)
@ 2016-01-10 19:13 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:13 UTC (permalink / raw)
To: Joe Perches
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
On Sun, Jan 10, 2016 at 07:07:05AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > @@ -5116,7 +5116,25 @@ sub process {
> > }
> > }
> > # check for memory barriers without a comment.
> > - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> > +
> > + my $barriers = qr{
> > + mb|
> > + rmb|
> > + wmb|
> > + read_barrier_depends
> > + }x;
> > + my $smp_barriers = qr{
> > + store_release|
> > + load_acquire|
> > + store_mb|
> > + ($barriers)
> > + }x;
>
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
> }x;
>
> or
>
> my $smp_barriers = qr{
> smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
> }x;
>
Yes but virt barriers (added in patch 3) are same things but prefixed
with virt_. So we need the stems without smp_ prefix. If smp_barriers is
too confusing we'll just need to give them some other name.
How about:
my $smp_barrier_stems
?
> > + my $all_barriers = qr{
> > + $barriers|
> > + smp_($smp_barriers)
> > + }x;
>
> And this shouldn't have a capture group.
>
> my $all_barriers = qr{
> $barriers|
> $smp_barriers
> }x;
> > +
> > + if ($line =~ /\b($all_barriers)\s*\(/) {
>
> This doesn't need the capture group either (?:all_barriers)
>
> > if (!ctx_has_comment($first_line, $linenr))
> > {
> > WARN("MEMORY_BARRIER",
> > "memory barrier without
> > comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 19:13 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:13 UTC (permalink / raw)
To: Joe Perches
Cc: linux-kernel, Andy Whitcroft, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
On Sun, Jan 10, 2016 at 07:07:05AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > SMP-only barriers were missing in checkpatch.pl
> >
> > Refactor code slightly to make adding more variants easier.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > @@ -5116,7 +5116,25 @@ sub process {
> > � }
> > � }
> > �# check for memory barriers without a comment.
> > - if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
> > +
> > + my $barriers = qr{
> > + mb|
> > + rmb|
> > + wmb|
> > + read_barrier_depends
> > + }x;
> > + my $smp_barriers = qr{
> > + store_release|
> > + load_acquire|
> > + store_mb|
> > + ($barriers)
> > + }x;
>
> If I use a variable called $smp_barriers, I'd expect
> it to actually be the smp_barriers, not to have to
> prefix it with smp_ before using it.
>
> my $smp_barriers = qr{
> smp_store_release|
> smp_load_acquire|
> smp_store_mb|
> smp_read_barrier_depends
> }x;
>
> or
>
> my $smp_barriers = qr{
> smp_(?:store_release|load_acquire|store_mb|read_barrier_depends)
> }x;
>
Yes but virt barriers (added in patch 3) are same things but prefixed
with virt_. So we need the stems without smp_ prefix. If smp_barriers is
too confusing we'll just need to give them some other name.
How about:
my $smp_barrier_stems
?
> > + my $all_barriers = qr{
> > + $barriers|
> > + smp_($smp_barriers)
> > + }x;
>
> And this shouldn't have a capture group.
>
> my $all_barriers = qr{
> $barriers|
> $smp_barriers
> }x;
> > +
> > + if ($line =~ /\b($all_barriers)\s*\(/) {
>
> This doesn't need the capture group either (?:all_barriers)
>
> > � if (!ctx_has_comment($first_line, $linenr))
> > {
> > � WARN("MEMORY_BARRIER",
> > � �����"memory barrier without
> > comment\n" . $herecurr);
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 15:17 ` Joe Perches
(?)
(?)
@ 2016-01-10 19:29 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:29 UTC (permalink / raw)
To: Joe Perches
Cc: linux-kernel, Andy Whitcroft, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony
On Sun, Jan 10, 2016 at 07:17:31AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> > On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > > SMP-only barriers were missing in checkpatch.pl
> > >
> > > Refactor code slightly to make adding more variants easier.
> > []
> > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > If I use a variable called $smp_barriers, I'd expect
> > it to actually be the smp_barriers, not to have to
> > prefix it with smp_ before using it.
> >
> > my $smp_barriers = qr{
> > smp_store_release|
> > smp_load_acquire|
> > smp_store_mb|
> > smp_read_barrier_depends
>
> That's missing (?:barriers) too.
My version has it but need to add ?: to avoid
a capture group.
> btw: shouldn't this also have
> smp_mb__(?:before|after)_atomic
> ?
Good catch, included in the next version.
--
MST
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 19:29 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:29 UTC (permalink / raw)
To: Joe Perches
Cc: linux-kernel, Andy Whitcroft, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony Lindgren,
Andrey Konovalov, Russell King - ARM Linux
On Sun, Jan 10, 2016 at 07:17:31AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> > On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > > SMP-only barriers were missing in checkpatch.pl
> > >
> > > Refactor code slightly to make adding more variants easier.
> > []
> > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > If I use a variable called $smp_barriers, I'd expect
> > it to actually be the smp_barriers, not to have to
> > prefix it with smp_ before using it.
> >
> > my $smp_barriers = qr{
> > smp_store_release|
> > smp_load_acquire|
> > smp_store_mb|
> > smp_read_barrier_depends
>
> That's missing (?:barriers) too.
My version has it but need to add ?: to avoid
a capture group.
> btw: shouldn't this also have
> smp_mb__(?:before|after)_atomic
> ?
Good catch, included in the next version.
--
MST
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 19:29 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:29 UTC (permalink / raw)
To: Joe Perches
Cc: linux-kernel, Andy Whitcroft, Peter Zijlstra, Arnd Bergmann,
linux-arch, Andrew Cooper, virtualization, Stefano Stabellini,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, David Miller,
linux-ia64, linuxppc-dev, linux-s390, sparclinux,
linux-arm-kernel, linux-metag, linux-mips, x86,
user-mode-linux-devel, adi-buildroot-devel, linux-sh,
linux-xtensa, xen-devel, Ingo Molnar, Tony
On Sun, Jan 10, 2016 at 07:17:31AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> > On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > > SMP-only barriers were missing in checkpatch.pl
> > >
> > > Refactor code slightly to make adding more variants easier.
> > []
> > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > If I use a variable called $smp_barriers, I'd expect
> > it to actually be the smp_barriers, not to have to
> > prefix it with smp_ before using it.
> >
> > my $smp_barriers = qr{
> > smp_store_release|
> > smp_load_acquire|
> > smp_store_mb|
> > smp_read_barrier_depends
>
> That's missing (?:barriers) too.
My version has it but need to add ?: to avoid
a capture group.
> btw: shouldn't this also have
> smp_mb__(?:before|after)_atomic
> ?
Good catch, included in the next version.
--
MST
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 15:17 ` Joe Perches
` (3 preceding siblings ...)
(?)
@ 2016-01-10 19:29 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:29 UTC (permalink / raw)
To: Joe Perches
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
On Sun, Jan 10, 2016 at 07:17:31AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> > On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > > SMP-only barriers were missing in checkpatch.pl
> > >
> > > Refactor code slightly to make adding more variants easier.
> > []
> > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > If I use a variable called $smp_barriers, I'd expect
> > it to actually be the smp_barriers, not to have to
> > prefix it with smp_ before using it.
> >
> > my $smp_barriers = qr{
> > smp_store_release|
> > smp_load_acquire|
> > smp_store_mb|
> > smp_read_barrier_depends
>
> That's missing (?:barriers) too.
My version has it but need to add ?: to avoid
a capture group.
> btw: shouldn't this also have
> smp_mb__(?:before|after)_atomic
> ?
Good catch, included in the next version.
--
MST
^ permalink raw reply [flat|nested] 59+ messages in thread
* [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
@ 2016-01-10 19:29 ` Michael S. Tsirkin
0 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:29 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Jan 10, 2016 at 07:17:31AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> > On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > > SMP-only barriers were missing in checkpatch.pl
> > >
> > > Refactor code slightly to make adding more variants easier.
> > []
> > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > If I use a variable called $smp_barriers, I'd expect
> > it to actually be the smp_barriers, not to have to
> > prefix it with smp_ before using it.
> >
> > my $smp_barriers = qr{
> > smp_store_release|
> > smp_load_acquire|
> > smp_store_mb|
> > smp_read_barrier_depends
>
> That's missing (?:barriers) too.
My version has it but need to add ?: to avoid
a capture group.
> btw: shouldn't this also have
> smp_mb__(?:before|after)_atomic
> ?
Good catch, included in the next version.
--
MST
^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: [PATCH v2 1/3] checkpatch.pl: add missing memory barriers
2016-01-10 15:17 ` Joe Perches
` (5 preceding siblings ...)
(?)
@ 2016-01-10 19:29 ` Michael S. Tsirkin
-1 siblings, 0 replies; 59+ messages in thread
From: Michael S. Tsirkin @ 2016-01-10 19:29 UTC (permalink / raw)
To: Joe Perches
Cc: linux-mips, linux-ia64, linux-sh, Peter Zijlstra, virtualization,
H. Peter Anvin, sparclinux, Ingo Molnar, linux-arch, linux-s390,
Russell King - ARM Linux, Arnd Bergmann, x86, Tony Lindgren,
xen-devel, Ingo Molnar, linux-xtensa, user-mode-linux-devel,
Stefano Stabellini, Andrey Konovalov, adi-buildroot-devel,
Andy Whitcroft, Thomas Gleixner, linux-metag, linux-arm-kernel
On Sun, Jan 10, 2016 at 07:17:31AM -0800, Joe Perches wrote:
> On Sun, 2016-01-10 at 07:07 -0800, Joe Perches wrote:
> > On Sun, 2016-01-10 at 13:56 +0200, Michael S. Tsirkin wrote:
> > > SMP-only barriers were missing in checkpatch.pl
> > >
> > > Refactor code slightly to make adding more variants easier.
> > []
> > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > If I use a variable called $smp_barriers, I'd expect
> > it to actually be the smp_barriers, not to have to
> > prefix it with smp_ before using it.
> >
> > my $smp_barriers = qr{
> > smp_store_release|
> > smp_load_acquire|
> > smp_store_mb|
> > smp_read_barrier_depends
>
> That's missing (?:barriers) too.
My version has it but need to add ?: to avoid
a capture group.
> btw: shouldn't this also have
> smp_mb__(?:before|after)_atomic
> ?
Good catch, included in the next version.
--
MST
^ permalink raw reply [flat|nested] 59+ messages in thread
end of thread, other threads:[~2016-01-10 19:29 UTC | newest]
Thread overview: 59+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-10 11:56 [PATCH v2 0/3] checkpatch: handling of memory barriers Michael S. Tsirkin
2016-01-10 11:56 ` Michael S. Tsirkin
2016-01-10 11:56 ` Michael S. Tsirkin
2016-01-10 11:56 ` Michael S. Tsirkin
2016-01-10 11:56 ` [PATCH v2 1/3] checkpatch.pl: add missing " Michael S. Tsirkin
2016-01-10 11:56 ` Michael S. Tsirkin
2016-01-10 11:56 ` Michael S. Tsirkin
2016-01-10 11:56 ` Michael S. Tsirkin
2016-01-10 15:07 ` Joe Perches
2016-01-10 15:07 ` Joe Perches
2016-01-10 15:07 ` Joe Perches
2016-01-10 15:07 ` Joe Perches
2016-01-10 15:07 ` Joe Perches
2016-01-10 15:07 ` Joe Perches
2016-01-10 15:07 ` Joe Perches
2016-01-10 15:07 ` Joe Perches
2016-01-10 15:17 ` Joe Perches
2016-01-10 15:17 ` Joe Perches
[not found] ` <1452438425.7773.21.camel-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>
2016-01-10 15:17 ` Joe Perches
2016-01-10 15:17 ` Joe Perches
2016-01-10 15:17 ` Joe Perches
2016-01-10 15:17 ` Joe Perches
2016-01-10 15:17 ` Joe Perches
2016-01-10 19:29 ` Michael S. Tsirkin
2016-01-10 19:29 ` Michael S. Tsirkin
2016-01-10 19:29 ` Michael S. Tsirkin
2016-01-10 19:29 ` Michael S. Tsirkin
2016-01-10 19:29 ` Michael S. Tsirkin
2016-01-10 19:29 ` Michael S. Tsirkin
2016-01-10 19:13 ` Michael S. Tsirkin
2016-01-10 19:13 ` Michael S. Tsirkin
2016-01-10 19:13 ` Michael S. Tsirkin
2016-01-10 19:13 ` Michael S. Tsirkin
2016-01-10 19:13 ` Michael S. Tsirkin
2016-01-10 19:13 ` Michael S. Tsirkin
2016-01-10 19:13 ` Michael S. Tsirkin
2016-01-10 11:56 ` Michael S. Tsirkin
2016-01-10 11:56 ` Michael S. Tsirkin
2016-01-10 11:57 ` [PATCH v2 2/3] checkpatch: check for __smp outside barrier.h Michael S. Tsirkin
2016-01-10 11:57 ` Michael S. Tsirkin
2016-01-10 11:57 ` Michael S. Tsirkin
2016-01-10 11:57 ` Michael S. Tsirkin
2016-01-10 11:57 ` Michael S. Tsirkin
2016-01-10 11:57 ` Michael S. Tsirkin
2016-01-10 11:57 ` Michael S. Tsirkin
2016-01-10 15:08 ` Joe Perches
2016-01-10 15:08 ` Joe Perches
2016-01-10 15:08 ` Joe Perches
2016-01-10 15:08 ` Joe Perches
2016-01-10 15:08 ` Joe Perches
2016-01-10 15:08 ` Joe Perches
2016-01-10 15:08 ` Joe Perches
2016-01-10 15:08 ` Joe Perches
2016-01-10 11:57 ` [PATCH v2 3/3] checkpatch: add virt barriers Michael S. Tsirkin
2016-01-10 11:57 ` Michael S. Tsirkin
2016-01-10 11:57 ` Michael S. Tsirkin
2016-01-10 11:57 ` Michael S. Tsirkin
2016-01-10 11:57 ` Michael S. Tsirkin
2016-01-10 11:57 ` Michael S. Tsirkin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.