Dexuan Cui writes:
> If smp_call_function_single() is calling the function for itself, it's safe
> to run with irqs_disabled() == true.
>
> I hit the warning because I'm in the below path in the .suspend callback of
> a "syscore_ops" to support hibernation for a VM running on Hyper-V:
>
> hv_sy
On Thu, Apr 11, 2019 at 02:03:26PM -0400, jgli...@redhat.com wrote:
> From: Jérôme Glisse
>
> To allow building device driver that only care about address space
> mirroring (like RDMA ODP) on platform that do not have all the pre-
> requisite for HMM device memory (like ZONE_DEVICE on ARM) split t
Memory hot remove uses get_nid_for_pfn() while tearing down linked sysfs
entries between memory block and node. It first checks pfn validity with
pfn_valid_within() before fetching nid. With CONFIG_HOLES_IN_ZONE config
(arm64 has this enabled) pfn_valid_within() calls pfn_valid().
pfn_valid() is a
Memory removal from an arch perspective involves tearing down two different
kernel based mappings i.e vmemmap and linear while releasing related page
table pages allocated for the physical memory range to be removed.
Define a common kernel page table tear down helper remove_pagetable() which
can b
This series enables memory hot remove on arm64 after fixing a memblock
removal ordering problem in generic __remove_memory(). This is based
on the following arm64 working tree.
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
Testing:
Tested hot remove on arm64 for all
The license is clearly identified as GPL V2 - so just add in the
appropriate SPDX license identifier.
Signed-off-by: Nicholas Mc Guire
---
Problem reported by checkpatch
WARNING: Missing or malformed SPDX-License-Identifier tag in line 1
#1: FILE: arch/arm/mach-mvebu/board-v7.c:1:
+/*
Patch is
Although it is very unlikely that the allocation during init would
fail any such failure should point to the original cause rather
than waiting for a null-pointer dereference to splat.
Signed-off-by: Nicholas Mc Guire
---
Problem located with experimental coccinelle script
While this will not r
The return statement is unnecessary here - so drop it.
Signed-off-by: Nicholas Mc Guire
---
Problem reported by checkpatch
WARNING: void function return statements are not generally useful
#141: FILE: arch/arm/mach-mvebu/board-v7.c:141:
+ return;
+}
Patch was compile-tested: mvebu_v7_def
syzbot has bisected this bug to:
commit 430e48ecf31f4f897047f22e02abdfa75730cad8
Author: Amitoj Kaur Chawla
Date: Thu Aug 10 16:28:09 2017 +
leds: lm3533: constify attribute_group structure
bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=15f4cee320
start commit: 8e
On Sun, Apr 7, 2019 at 4:15 AM Jonathan Cameron wrote:
>
> On Wed, 3 Apr 2019 00:03:24 -0700
> Andrey Smirnov wrote:
>
> > Initialization sequence performed in imx7d_adc_resume() is exactley
> > the same as what's being done in imx7d_adc_probe(). Make use of the
> > former in the latter to avoid
On Sun, Apr 7, 2019 at 4:07 AM Jonathan Cameron wrote:
>
> On Wed, 3 Apr 2019 00:03:22 -0700
> Andrey Smirnov wrote:
>
> > Use devm_iio_device_register() and drop explicit call to
> > iio_device_unregister().
> >
> > Signed-off-by: Andrey Smirnov
> > Cc: Jonathan Cameron
> > Cc: Hartmut Knaack
On Sat, Apr 13, 2019 at 03:54:39PM -0500, Shawn Landden wrote:
/me pulls out his close-reading glasses and the copy_file_range manpage...
> If flags includes COPY_FILE_RANGE_FILESIZE then the length
> copied is the length of the file. off_in and off_out are
> ignored. len must be 0 or the file s
On 4/13/19 2:01 AM, Linhaifeng wrote:
> Sorry, the value 131081408 is just for example. Actually the result is like
> this:
> sqrt 2019-04-10 23:53:50: 43968
> sqrt 2019-04-10 23:53:51: 44060
> sqrt 2019-04-10 23:53:52: 49012
> sqrt 2019-04-10 23:53:53: 38172
> sqrt 2019-04-10 23:53:54: 13108
On Sat, Apr 13, 2019 at 11:11:05AM -0300, Fabio Estevam wrote:
> On Sat, Apr 13, 2019 at 4:30 AM Nicholas Mc Guire wrote:
> >
> > The header clearly identifies this code as GPL V2 or later - so pop
> > in the SPDX license identifier.
> >
> > Signed-off-by: Nicholas Mc Guire
> > ---
> > arch/arm/
On Sat, Apr 13, 2019 at 3:44 PM Sinan Kaya wrote:
>
> CONFIG_DEBUG_KERNEL should not impact code generation. Use the newly
> defined CONFIG_DEBUG_MISC instead to keep the current code.
>
> Signed-off-by: Sinan Kaya
> Reviewed-by: Josh Triplett
> ---
> arch/xtensa/include/asm/irqflags.h | 2 +-
>
CONFIG_DEBUG_KERNEL should not impact code generation. Use the newly
defined CONFIG_DEBUG_MISC instead to keep the current code.
Signed-off-by: Sinan Kaya
Reviewed-by: Josh Triplett
---
arch/mips/kernel/setup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/kernel
CONFIG_DEBUG_KERNEL should not impact code generation. Use the newly
defined CONFIG_DEBUG_MISC instead to keep the current code.
Signed-off-by: Sinan Kaya
Reviewed-by: Josh Triplett
---
arch/xtensa/include/asm/irqflags.h | 2 +-
arch/xtensa/kernel/smp.c | 2 +-
2 files changed, 2 inse
CONFIG_DEBUG_KERNEL has been designed to just enable Kconfig options.
Kernel code generatoin should not depend on CONFIG_DEBUG_KERNEL.
Proposed alternative plan: let's add a new symbol, something like
DEBUG_MISC ("Miscellaneous debug code that should be under a more
specific debug option but isn't
Introduce DEBUG_MISC ("Miscellaneous debug code that should be under a more
specific debug option but isn't"), make it depend on DEBUG_KERNEL and be
"default DEBUG_KERNEL" but allow itself to be turned off, and then
mechanically change the small handful of "#ifdef CONFIG_DEBUG_KERNEL" to
"#ifdef CO
CONFIG_DEBUG_KERNEL should not impact code generation. Use the newly
defined CONFIG_DEBUG_MISC instead to keep the current code.
Signed-off-by: Sinan Kaya
Reviewed-by: Josh Triplett
---
arch/powerpc/kernel/sysfs.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/
The pull request you sent on Sat, 13 Apr 2019 14:56:35 +:
> git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-5.1-4
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/b60bc0665e6af8c55b946b67ea8cb235823bb74e
Thank you!
--
Deet-doot-dot, I am a bot.
The pull request you sent on Fri, 12 Apr 2019 16:21:07 -0700:
> https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git
> tags/clk-fixes-for-linus
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/09bad0df3974ef9e682447f48bb7fd55c48513f3
Thank you!
--
Deet-doot-
The pull request you sent on Fri, 12 Apr 2019 10:38:38 -0500:
> git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git
> tags/pci-v5.1-fixes-2
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/a3b84248628df52c39c8724fb69da1ea0f2c0dc7
Thank you!
--
Deet-doot-dot
> On Apr 13, 2019, at 1:49 PM, Shawn Landden wrote:
>
> If flags includes COPY_FILE_RANGE_FILESIZE then the length
> copied is the length of the file. off_in and off_out are
> ignored. len must be 0 or the file size.
>
> This implementation saves a call to stat() in the common case
> of copyi
On Tue, Apr 09, 2019 at 08:01:32AM -0700, Paul E. McKenney wrote:
> On Tue, Apr 09, 2019 at 03:36:18AM +0200, Andrea Parri wrote:
> > > > The formula was more along the line of "do not assume either of these
> > > > cases to hold; use barrier() is you need an unconditional barrier..."
> > > > AFAIC
Commit-ID: a5eff7259790d5314eff10563d6e59d358cce482
Gitweb: https://git.kernel.org/tip/a5eff7259790d5314eff10563d6e59d358cce482
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:56 +0200
Committer: Borislav Petkov
CommitDate: Fri, 12 Apr 2019 20:21:10 +0200
x86/pkeys:
Commit-ID: 06b251dff78704c7d122bd109384d970a7dbe94d
Gitweb: https://git.kernel.org/tip/06b251dff78704c7d122bd109384d970a7dbe94d
Author: Sebastian Andrzej Siewior
AuthorDate: Fri, 12 Apr 2019 20:16:15 +0200
Committer: Borislav Petkov
CommitDate: Fri, 12 Apr 2019 20:16:15 +0200
x86/fpu:
Commit-ID: da2f32fb8dc7cbd9433cb2e990693734b30a2465
Gitweb: https://git.kernel.org/tip/da2f32fb8dc7cbd9433cb2e990693734b30a2465
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:54 +0200
Committer: Borislav Petkov
CommitDate: Fri, 12 Apr 2019 20:05:36 +0200
x86/fpu: A
Commit-ID: 1d731e731c4cd7cbd3b1aa295f0932e7610da82f
Gitweb: https://git.kernel.org/tip/1d731e731c4cd7cbd3b1aa295f0932e7610da82f
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:53 +0200
Committer: Borislav Petkov
CommitDate: Fri, 12 Apr 2019 20:04:49 +0200
x86/fpu: A
Commit-ID: 5f409e20b794565e2d60ad333e79334630a6c798
Gitweb: https://git.kernel.org/tip/5f409e20b794565e2d60ad333e79334630a6c798
Author: Rik van Riel
AuthorDate: Wed, 3 Apr 2019 18:41:52 +0200
Committer: Borislav Petkov
CommitDate: Fri, 12 Apr 2019 19:34:47 +0200
x86/fpu: Defer FPU stat
What's the point of using fget_raw(), if you do
_not_ accept O_PATH descriptors? That should be fget()...
Commit-ID: c2ff9e9a3d9d6c019394a22989a228d02970a8b1
Gitweb: https://git.kernel.org/tip/c2ff9e9a3d9d6c019394a22989a228d02970a8b1
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:51 +0200
Committer: Borislav Petkov
CommitDate: Fri, 12 Apr 2019 15:41:25 +0200
x86/fpu: M
Commit-ID: 926b21f37b072ae4c117052de45a975c6d468fec
Gitweb: https://git.kernel.org/tip/926b21f37b072ae4c117052de45a975c6d468fec
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:50 +0200
Committer: Borislav Petkov
CommitDate: Fri, 12 Apr 2019 15:02:41 +0200
x86/fpu: R
Commit-ID: e0d3602f933367881bddfff310a744e6e61c284c
Gitweb: https://git.kernel.org/tip/e0d3602f933367881bddfff310a744e6e61c284c
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:49 +0200
Committer: Borislav Petkov
CommitDate: Thu, 11 Apr 2019 20:45:20 +0200
x86/fpu: I
Commit-ID: 383c252545edcc708128e2028a2318b05c45ede4
Gitweb: https://git.kernel.org/tip/383c252545edcc708128e2028a2318b05c45ede4
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:45 +0200
Committer: Borislav Petkov
CommitDate: Thu, 11 Apr 2019 16:21:51 +0200
x86/entry:
Commit-ID: 0d714dba162620fd8b9f5b3104a487e041353c4d
Gitweb: https://git.kernel.org/tip/0d714dba162620fd8b9f5b3104a487e041353c4d
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:48 +0200
Committer: Borislav Petkov
CommitDate: Thu, 11 Apr 2019 20:33:29 +0200
x86/fpu: U
Commit-ID: a352a3b7b7920212ee4c45a41500c66826318e92
Gitweb: https://git.kernel.org/tip/a352a3b7b7920212ee4c45a41500c66826318e92
Author: Rik van Riel
AuthorDate: Wed, 3 Apr 2019 18:41:47 +0200
Committer: Borislav Petkov
CommitDate: Thu, 11 Apr 2019 18:20:04 +0200
x86/fpu: Prepare copy_f
Commit-ID: 69277c98f5eef0d9839699b7825923c3985f665f
Gitweb: https://git.kernel.org/tip/69277c98f5eef0d9839699b7825923c3985f665f
Author: Rik van Riel
AuthorDate: Wed, 3 Apr 2019 18:41:46 +0200
Committer: Borislav Petkov
CommitDate: Thu, 11 Apr 2019 18:08:57 +0200
x86/fpu: Always store t
Commit-ID: 0cecca9d03c964abbd2b7927d0670eb70db4ebf2
Gitweb: https://git.kernel.org/tip/0cecca9d03c964abbd2b7927d0670eb70db4ebf2
Author: Rik van Riel
AuthorDate: Wed, 3 Apr 2019 18:41:44 +0200
Committer: Borislav Petkov
CommitDate: Thu, 11 Apr 2019 15:57:10 +0200
x86/fpu: Eager switch P
Commit-ID: 0556cbdc2fbcb3068e5b924a8b3d5386ae0dd27d
Gitweb: https://git.kernel.org/tip/0556cbdc2fbcb3068e5b924a8b3d5386ae0dd27d
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:43 +0200
Committer: Borislav Petkov
CommitDate: Thu, 11 Apr 2019 15:41:05 +0200
x86/pkeys:
Commit-ID: abd16d68d65229e5acafdadc32704239131bf2ea
Gitweb: https://git.kernel.org/tip/abd16d68d65229e5acafdadc32704239131bf2ea
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:40 +0200
Committer: Borislav Petkov
CommitDate: Wed, 10 Apr 2019 18:20:27 +0200
x86/fpu: U
Commit-ID: 577ff465f5a6a5a0866d75a033844810baca20a0
Gitweb: https://git.kernel.org/tip/577ff465f5a6a5a0866d75a033844810baca20a0
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:42 +0200
Committer: Borislav Petkov
CommitDate: Thu, 11 Apr 2019 15:41:05 +0200
x86/fpu: O
Commit-ID: c806e88734b9e9aea260bf2261c129aa23968fca
Gitweb: https://git.kernel.org/tip/c806e88734b9e9aea260bf2261c129aa23968fca
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:41 +0200
Committer: Borislav Petkov
CommitDate: Thu, 11 Apr 2019 15:40:58 +0200
x86/pkeys:
If flags includes COPY_FILE_RANGE_FILESIZE then the length
copied is the length of the file. off_in and off_out are
ignored. len must be 0 or the file size.
This implementation saves a call to stat() in the common case
of copying files. It does not fix any race conditions, but that
is possible in
Commit-ID: 07baeb04f37c952981d63359ff840118ce8f5434
Gitweb: https://git.kernel.org/tip/07baeb04f37c952981d63359ff840118ce8f5434
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:39 +0200
Committer: Borislav Petkov
CommitDate: Wed, 10 Apr 2019 16:33:45 +0200
x86/fpu: M
Hi,
Intel Core i3-2120 + kernel-5.0.7 x86_64 from Fedora:
[0.00] microcode: microcode updated early to revision 0x2e, date =
2018-04-10
[0.00] Linux version 5.0.7-300.fc30.x86_64
(mockbu...@bkernel04.phx2.fedoraproject.org) (gcc version 9.0.1 20190312 (Red
Hat 9.0.1-0.10) (GCC)
Commit-ID: 4ee91519e1dccc175665fe24bb20a47c6053575c
Gitweb: https://git.kernel.org/tip/4ee91519e1dccc175665fe24bb20a47c6053575c
Author: Rik van Riel
AuthorDate: Wed, 3 Apr 2019 18:41:38 +0200
Committer: Borislav Petkov
CommitDate: Wed, 10 Apr 2019 16:23:14 +0200
x86/fpu: Add an __fpreg
Commit-ID: 0169f53e0d97bb675075506810494bd86b8c934e
Gitweb: https://git.kernel.org/tip/0169f53e0d97bb675075506810494bd86b8c934e
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:37 +0200
Committer: Borislav Petkov
CommitDate: Wed, 10 Apr 2019 15:58:44 +0200
x86/fpu: R
Commit-ID: 2722146eb78451b30e4717a267a3a2b44e4ad317
Gitweb: https://git.kernel.org/tip/2722146eb78451b30e4717a267a3a2b44e4ad317
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:36 +0200
Committer: Borislav Petkov
CommitDate: Wed, 10 Apr 2019 15:42:40 +0200
x86/fpu: R
Commit-ID: fbcc9e0c37ba3186c41b5eb1aee2f7f3b711bc1e
Gitweb: https://git.kernel.org/tip/fbcc9e0c37ba3186c41b5eb1aee2f7f3b711bc1e
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:34 +0200
Committer: Borislav Petkov
CommitDate: Tue, 9 Apr 2019 20:48:11 +0200
x86/fpu: Re
Commit-ID: 39388e80f9b0c3788bfb6efe3054bdce0c3ead45
Gitweb: https://git.kernel.org/tip/39388e80f9b0c3788bfb6efe3054bdce0c3ead45
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:35 +0200
Committer: Borislav Petkov
CommitDate: Wed, 10 Apr 2019 14:46:35 +0200
x86/fpu: D
If flags includes COPY_FILE_RANGE_FILESIZE then the length
copied is the length of the file. off_in and off_out are
ignored. len must be 0 or the file size.
This implementation saves a call to stat() in the common case
of copying files. It does not fix any race conditions, but that
is possible in
Commit-ID: 88f5260a3bf9bfb276b5b4aac2e81587e425a1d7
Gitweb: https://git.kernel.org/tip/88f5260a3bf9bfb276b5b4aac2e81587e425a1d7
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:33 +0200
Committer: Borislav Petkov
CommitDate: Tue, 9 Apr 2019 19:28:06 +0200
x86/fpu: Al
Commit-ID: 60e528d6ce3f60a058bbb64f8acb2a07f84b172a
Gitweb: https://git.kernel.org/tip/60e528d6ce3f60a058bbb64f8acb2a07f84b172a
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:32 +0200
Committer: Borislav Petkov
CommitDate: Tue, 9 Apr 2019 19:27:46 +0200
x86/fpu: Re
Commit-ID: 6dd677a044e606fd343e31c2108b13d74aec1ca5
Gitweb: https://git.kernel.org/tip/6dd677a044e606fd343e31c2108b13d74aec1ca5
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:31 +0200
Committer: Borislav Petkov
CommitDate: Tue, 9 Apr 2019 19:27:42 +0200
x86/fpu: Re
Commit-ID: 39ea9baffda91df8bfee9b45610242a3191ea1ec
Gitweb: https://git.kernel.org/tip/39ea9baffda91df8bfee9b45610242a3191ea1ec
Author: Sebastian Andrzej Siewior
AuthorDate: Wed, 3 Apr 2019 18:41:30 +0200
Committer: Borislav Petkov
CommitDate: Tue, 9 Apr 2019 19:27:29 +0200
x86/fpu: Re
On Mon 2019-03-25 09:24:03, Dan Murphy wrote:
> Introduce the lm3697 LED driver for
> backlighting and display.
>
> Datasheet location:
> http://www.ti.com/lit/ds/symlink/lm3697.pdf
>
> Signed-off-by: Dan Murphy
> ---
> drivers/leds/Kconfig | 8 +-
> drivers/leds/Makefile | 1 +
>
On Sat, Apr 13, 2019 at 10:27:00AM -0700, Linus Torvalds wrote:
> On Sat, Apr 13, 2019 at 9:55 AM Kirill Smelkov wrote:
> >
> > --- a/fs/read_write.c
> > +++ b/fs/read_write.c
> > @@ -371,7 +371,7 @@ int rw_verify_area(int read_write, struct file *file,
> > const loff_t *ppos, size_t
> >
Hi Martin,
On Sat, Apr 13, 2019 at 7:15 PM Martin Blumenstingl
wrote:
>
> This adds the canvas module on Meson8, Meson8b and Meson8m2. The canvas
> IP is used by the video decoder hardware as well as the VPU (video
> output) hardware.
>
> Neither the VPU nor the video decoder driver support the 32
On Sat, Apr 13, 2019 at 07:21:53AM -0700, Paul E. McKenney wrote:
> On Wed, Apr 10, 2019 at 05:06:10PM -0700, Paul E. McKenney wrote:
> > On Wed, Apr 10, 2019 at 01:33:02PM -0700, Paul E. McKenney wrote:
> > > On Wed, Apr 10, 2019 at 09:19:18PM +0200, Sebastian Andrzej Siewior wrote:
> > > > On 201
The pull request you sent on Fri, 12 Apr 2019 17:05:15 +0100:
> git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/5ded88718aef7e92a9806f6ff4b89c7f2a4f1570
Thank you!
--
Deet-doot-dot, I am a
On Sat, Apr 13, 2019 at 10:27:00AM -0700, Linus Torvalds wrote:
> And I'd really like to have people (Al?) look at this and go "yeah,
> makes sense". I do think that moving to a model where we wither have a
> (properly locked) file position or no pos pointer at all is the right
> model (ie I'd rea
On Sat, Apr 13, 2019 at 9:55 AM Kirill Smelkov wrote:
>
> --- a/fs/read_write.c
> +++ b/fs/read_write.c
> @@ -371,7 +371,7 @@ int rw_verify_area(int read_write, struct file *file,
> const loff_t *ppos, size_t
> inode = file_inode(file);
> if (unlikely((ssize_t) count < 0))
>
After merging all the relevant rwsem code into one single file, there
are a number of optimizations and cleanups that can be done:
1) Remove all the EXPORT_SYMBOL() calls for functions that are not
accessed elsewhere.
2) Remove all the __visible tags as none of the functions will be
call
Now we only have one implementation of rwsem. Even though we still use
xadd to handle reader locking, we use cmpxchg for writer instead. So
the filename rwsem-xadd.c is not strictly correct. Also no one outside
of the rwsem code need to know the internal implementation other than
function prototype
Hello everyone,
On Sat, Apr 13, 2019 at 06:50:57PM +0200, Julia Lawall wrote:
> Hello,
>
> Kirill will explain about this issue.
pci/switchtec switching to stream_open is already queued to merge
window and it was acked by Logan Gunthorpe:
https://lore.kernel.org/lkml/CAHk-=wgqgN5j1ZWny
This patch enables readers to optimistically spin on a
rwsem when it is owned by a writer instead of going to sleep
directly. The rwsem_can_spin_on_owner() function is extracted
out of rwsem_optimistic_spin() and is called directly by
__rwsem_down_read_failed_common() and __rwsem_down_write_failed
When the front of the wait queue is a reader, other readers
immediately following the first reader will also be woken up at the
same time. However, if there is a writer in between. Those readers
behind the writer will not be woken up.
Because of optimistic spinning, the lock acquisition order is n
Long ago vfs read/write operations were passing ppos=&file->f_pos directly to
.read / .write file_operations methods. That changed in 2004 in 55f09ec0087c
("read/write: pass down a copy of f_pos, not f_pos itself.") which started to
pass ppos=&local_var trying to avoid simultaneous read/write/lseek
This amends commit 10dce8af3422 ("fs: stream_open - opener for
stream-like files so that read and write can run simultaneously without
deadlock") in how position is passed into .read()/.write() handler for
stream-like files:
Rasmus noticed that we currently pass 0 as position and ignore any positi
An RT task can do optimistic spinning only if the lock holder is
actually running. If the state of the lock holder isn't known, there
is a possibility that high priority of the RT task may block forward
progress of the lock holder if it happens to reside on the same CPU.
This will lead to deadlock.
The current way of using various reader, writer and waiting biases
in the rwsem code are confusing and hard to understand. I have to
reread the rwsem count guide in the rwsem-xadd.c file from time to
time to remind myself how this whole thing works. It also makes the
rwsem code harder to be optimiz
With separate count and owner, there are timing windows where the two
values are inconsistent. That can cause problem when trying to figure
out the exact state of the rwsem. For instance, a RT task will stop
optimistic spinning if the lock is acquired by a writer but the owner
field isn't set yet.
The upper bits of the count field is used as reader count. When
sufficient number of active readers are present, the most significant
bit will be set and the count becomes negative. If the number of active
readers keep on piling up, we may eventually overflow the reader counts.
This is not likely t
This patch modifies rwsem_spin_on_owner() to return four possible
values to better reflect the state of lock holder which enables us to
make a better decision of what to do next.
In the special case that there is no active lock and the handoff bit
is set, optimistic spinning has to be stopped.
Si
Before combining owner and count, we are adding two new helpers for
accessing the owner value in the rwsem.
1) struct task_struct *rwsem_get_owner(struct rw_semaphore *sem)
2) bool is_rwsem_reader_owned(struct rw_semaphore *sem)
Signed-off-by: Waiman Long
---
kernel/locking/rwsem.c | 50 +
On 64-bit architectures, each rwsem writer will have its unique lock
word for acquiring the lock. Right now, the writer code recomputes the
lock word every time it tries to acquire the lock. This is a waste of
time. The lock word is now cached and reused when it is needed.
On 32-bit architectures,
When the rwsem is owned by reader, writers stop optimistic spinning
simply because there is no easy way to figure out if all the readers
are actively running or not. However, there are scenarios where
the readers are unlikely to sleep and optimistic spinning can help
performance.
This patch provid
v4:
- Fix the missing initialization bug with !CONFIG_RWSEM_SPIN_ON_OWNER
in patch 2.
- Move the "Remove rwsem_wake() wakeup optimization" patch before
the "Implement a new locking scheme" patch.
- Add two new patches to merge the relevant content of rwsem.h and
rwsem-xadd.c into
With the commit 59aabfc7e959 ("locking/rwsem: Reduce spinlock contention
in wakeup after up_read()/up_write()"), the rwsem_wake() forgoes doing
a wakeup if the wait_lock cannot be directly acquired and an optimistic
spinning locker is present. This can help performance by avoiding
spinning on the
Disable the DEBUG_RWSEMS check when locking selftest is running with
debug_locks_silent flag set.
Signed-off-by: Waiman Long
---
kernel/locking/rwsem.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/locking/rwsem.h b/kernel/locking/rwsem.h
index 37db17890e36..64877f
The owner field in the rw_semaphore structure is used primarily for
optimistic spinning. However, identifying the rwsem owner can also be
helpful in debugging as well as tracing locking related issues when
analyzing crash dump. The owner field may also store state information
that can be important
Because of writer lock stealing, it is possible that a constant
stream of incoming writers will cause a waiting writer or reader to
wait indefinitely leading to lock starvation.
This patch implements a lock handoff mechanism to disable lock stealing
and force lock handoff to the first waiter or wa
Add the canvas module to Meson8 because it's required for the VPU
(video output) and video decoders.
The canvas module is located inside thie "DMC bus" (where also some of
the memory controller registers are located). The "DMC bus" itself is
part of the so-called "MMC bus".
Amlogic's vendor kerne
With the Meson8m2 SoC the canvas module was moved from offset 0x20
(Meson8) to offset 0x48 (same as on Meson8b). The offsets inside the
canvas module are identical.
Correct the offset so the driver uses the correct registers.
Signed-off-by: Martin Blumenstingl
---
arch/arm/boot/dts/meson8m2.dts
Add the canvas module to Meson8b because it's required for the VPU
(video output) and video decoders.
The canvas module is located inside the "DMC bus" (where also some of
the memory controller registers are located). The "DMC bus" itself is
part of the so-called "MMC bus".
Signed-off-by: Martin
This adds the canvas module on Meson8, Meson8b and Meson8m2. The canvas
IP is used by the video decoder hardware as well as the VPU (video
output) hardware.
Neither the VPU nor the video decoder driver support the 32-bit SoCs
yet. However, we can still add the canvas module to have it available
on
On Fri, Apr 12, 2019 at 03:41:44PM +0300, Kirill Smelkov wrote:
> On Thu, Apr 11, 2019 at 09:22:56AM -0700, Linus Torvalds wrote:
> > On Thu, Apr 11, 2019 at 5:38 AM Kirill Smelkov wrote:
> > >
> > > However file->f_pos writing is still there and it will bug under race
> > > detector, e.g. under K
On Fri, 2019-04-12 at 16:47 +0100, Willy Wolff wrote:
> Signed-off-by: Willy Wolff
Most people seem to prefer some type of commit message before
your sign-off.
And trivia:
> diff --git a/drivers/base/dd.c b/drivers/base/dd.c
[]
> @@ -602,8 +601,8 @@ static int really_probe_debug(struct device *
On 2019-04-13 10:50 a.m., Julia Lawall wrote:
> Hello,
>
> Kirill will explain about this issue.
I'm aware of this effort and Acked Kirill's original monolithic patch.
So, for this patch:
Acked-by: Logan Gunthorpe julia
>
> -- Forwarded message --
> Date: Sat, 13 Apr 2019 11
Hello,
Kirill will explain about this issue.
julia
-- Forwarded message --
Date: Sat, 13 Apr 2019 11:22:51 +0800
From: kbuild test robot
To: kbu...@01.org
Cc: Julia Lawall
Subject: [PATCH] pci/switchtec: fix stream_open.cocci warnings
CC: kbuild-...@01.org
TO: Sebastian Andrze
This adds support for the RTC on the Meson8b EC-100 and Odroid-C1
boards. Example kernel log snippet while booting my EC-100:
[5.713750] meson-rtc c8100740.rtc: setting system clock to
2019-04-13T16:21:48 UTC (1555172508)
I am only 99% sure about the naming of the clock in patch 2 and 3.
Th
The RTC is always enabled on this board since the battery is already
connected in the factory.
According to the schematics the VCC_RTC regulator (which is either
powered by the internal 3.3V or a battery) is connected to the 0.9V
RTC_VDD input of the SoCs.
Signed-off-by: Martin Blumenstingl
---
The 32-bit Meson SoCs have an RTC block in the AO (always on) area. The
RTC requires an external 32.768 kHz oscillator to work properly. Whether
or not this crystal exists depends on the board, so it has to be added
for each board.dts (instead of adding it somewhere in a generic .dtsi).
Signed-off
The Odroid-C1 has the 32.768 kHz oscillator (X3 in the schematics) which
is required for the RTC. A battery can be connected separately (to the
BT1 header) - then the "rtc" node can be enabled manually. By default
the RTC is disabled because the boards typically come without the RTC
battery.
Signe
This patch avoids
ERROR: "__sync_icache_dcache" [drivers/xen/xen-privcmd.ko] undefined!
observed when compiling v4.19.34.
The xen-privcmd driver, which can be modular, calls set_pte_at()
which in turn may call __sync_icache_dcache().
Cc: sta...@vger.kernel.org
Signed-off-by: Heinrich Schuchardt
- The Xilinx AXI-Stream FIFO IP core driver description is elaborated.
- References: Xilinx PG080 document, axis-fifo.txt
Signed-off-by: Moses Christopher
---
drivers/staging/axis-fifo/Kconfig | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/axis-fifo
On Fri, Apr 12, 2019 at 04:48:36PM +0100, Lorenzo Pieralisi wrote:
> On Mon, Mar 25, 2019 at 03:09:21PM +0530, Kishon Vijay Abraham I wrote:
> > Add PCIe RC support for TI's AM654 SoC. The PCIe controller in AM654
> > uses Synopsys core revision 4.90a and uses the same TI wrapper as used
> > in key
On Mon, Mar 25, 2019 at 02:04:58PM +0530, Kishon Vijay Abraham I wrote:
> Configure RESBAR capability to advertise the smallest size (1MB) for
> couple of reasons. A) Host side resource allocation of BAR fails for
> larger sizes. B) Endpoint function driver does not allocate memory
> for all suppor
From: Colin Ian King
Currently if alloc_skb fails to allocate the skb a null skb is passed
to t4_set_arp_err_handler and this ends up dereferencing the null skb.
Avoid the null pointer dereference by checking for a null skb and
returning early.
Addresses-Coverity: ("Dereference null return")
Fix
1 - 100 of 218 matches
Mail list logo