Hello Hermes,
great to see your improved series. See below for my remarks.
On Fri, Mar 26, 2021 at 01:28:01PM +0800, Hermes Zhang wrote:
> From: Hermes Zhang
>
> Introduce a new multiple GPIOs LED driver. This LED will made of
> multiple GPIOs (up to 8) and will map different brightness to
s/agorithm/algorithm/
s/criterias/criteria/
s/targetting/targeting/ two different places.
Signed-off-by: Bhaskar Chowdhury
---
scripts/mod/modpost.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index
Hi Jiapeng Chong, writes:
> Fix the following coccicheck warnings:
>
> ./fs/io_uring.c:5989:4-9: WARNING: NULL check before some freeing
> functions is not needed.
This looks correct to me, and matches the description of debugfs_remove
in Documentation/filesystems/debugfs.rst.
If you have a
When NETLOGIC_XLR_NET is enabled, and NETDEVICES is
disabled, Kbuild gives the following warning:
WARNING: unmet direct dependencies detected for PHYLIB
Depends on [n]: NETDEVICES [=n]
Selected by [y]:
- NETLOGIC_XLR_NET [=y] && STAGING [=y] && CPU_XLR [=y]
This is because NETLOGIC_XLR_NET
Wan Jiabing writes:
> sched.h has been included at line 33, so remove the
> duplicate one at line 36.
> pthread.h has been included at line 17,so remove the
> duplicate one at line 20.
I can see that both of these are correct from the diff.
> inttypes.h has been included at line 19, so
On 2021/3/24 18:23, Greg Kroah-Hartman wrote:
I'm announcing the release of the 4.14.227 kernel.
All users of the 4.14 kernel series must upgrade.
The updated 4.14.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
linux-4.14.y
and can
Wan Jiabing writes:
> mmu-hash.h: asm/bug.h has been included at line 12, so remove
> the duplicate one at line 21.
Looking at the file I had wondered if this was due to a #ifdef being
removed, but no, the second one was just added in commit 891121e6c02c
("powerpc/mm: Differentiate between
On 17:09 Thu 25 Mar 2021, David Miller wrote:
From: Bhaskar Chowdhury
Date: Thu, 25 Mar 2021 12:38:35 +0530
s/autohorized/authorized/
s/recsource/resource/
s/measuered/measured/
sauthoriziation/authorization/
Signed-off-by: Bhaskar Chowdhury
Does not apply cleanly to net-next please
s/autohorized/authorized/
s/recsource/resource/
s/measuered/measured/
s/authoriziation/authorization/
Signed-off-by: Bhaskar Chowdhury
---
Changes from V1:
David said the patch didn't applied cleanly,so recreate it.
Randy found out a glitch in changelog text, fixed it.
When CAVIUM_OCTEON_SOC is enabled, and MTD is disabled,
Kbuild gives the following warning:
WARNING: unmet direct dependencies detected for MTD_COMPLEX_MAPPINGS
Depends on [n]: MTD [=n] && HAS_IOMEM [=y]
Selected by [y]:
- CAVIUM_OCTEON_SOC [=y] &&
This is because CAVIUM_OCTEON_SOC
From: Hermes Zhang
Introduce a new multiple GPIOs LED driver. This LED will made of
multiple GPIOs (up to 8) and will map different brightness to different
GPIOs states which defined in dts file.
Signed-off-by: Hermes Zhang
---
drivers/leds/Kconfig | 3 +
From: Hermes Zhang
This binding represents LED devices which are controller with
multiple GPIO lines in order to achieve more than two brightness
states.
Signed-off-by: Hermes Zhang
---
.../bindings/leds/leds-multi-gpio.yaml| 50 +++
1 file changed, 50 insertions(+)
From: Hermes Zhang
changes v2:
- use max_brightness(=2^gpio number) instead of LED_FULL
- alloc priv at once
- move driver code to new simple folder
- update commit message for dt-binding commit
- move dt-binding commit before driver code
Hermes Zhang (2):
dt-binding: leds: Document
On 26-03-21, 11:12, Seiya Wang wrote:
> Update the cpu type of cpu2 and cpu3 since MT8173 used Cortex-a72.
>
> Signed-off-by: Seiya Wang
> ---
> Documentation/devicetree/bindings/cpufreq/cpufreq-mediatek.txt | 8
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git
When SB1XXX_CORELIS is enabled, COMPILE_TEST is disabled,
and DEBUG_KERNEL is disabled, Kbuild gives the
following warning:
WARNING: unmet direct dependencies detected for DEBUG_INFO
Depends on [n]: DEBUG_KERNEL [=n] && !COMPILE_TEST [=n]
Selected by [y]:
- SB1XXX_CORELIS [=y] &&
On Fri, Mar 26, 2021 at 12:20:35PM +1100, Alistair Popple wrote:
> request_free_mem_region() is used to find an empty range of physical
> addresses for hotplugging ZONE_DEVICE memory. It does this by iterating
> over the range of possible addresses using region_intersects() to see if
> the range
Hi,
> commit 475028efc708 ("powerpc/eeh: Remove eeh_dev_phb_init_dynamic()")
> left behind this, so can remove it.
I had a look: the inline that you are removing here is for the
!CONFIG_EEH case, which explains why it was missed the first time.
This looks like a good change. Out of interest,
Hi,
> commit 441c19c8a290 ("powerpc/kvm/book3s_hv: Rework the secondary inhibit
> code")
> left behind this, so can remove it.
>
Interesting: that commit removed some instances of
(un)inhibit_secondary_onlining, but it seems to have missed the ones for
the uni-processor case, which your patch
I forgot to mention why I cc'd all you fine Xen folk:
On Thu, Mar 25, 2021 at 11:13 AM Andy Lutomirski wrote:
>
> > } else if (IS_ENABLED(CONFIG_X86_32) &&
> >!onsigstack &&
> >regs->ss != __USER_DS &&
This bit here seems really dubious on Xen
On Thu, Mar 25, 2021 at 11:54 AM Borislav Petkov wrote:
>
> On Thu, Mar 25, 2021 at 11:13:12AM -0700, Andy Lutomirski wrote:
> > diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c
> > index ea794a083c44..53781324a2d3 100644
> > --- a/arch/x86/kernel/signal.c
> > +++
allyesconfig
powerpc allmodconfig
powerpc allnoconfig
x86_64 randconfig-a002-20210325
x86_64 randconfig-a003-20210325
x86_64 randconfig-a006-20210325
x86_64 randconfig-a001
allmodconfig
powerpc allnoconfig
x86_64 randconfig-a002-20210325
x86_64 randconfig-a003-20210325
x86_64 randconfig-a006-20210325
x86_64 randconfig-a001-20210325
x86_64 randconfig-a005
Randy Dunlap writes:
> Drop the 'beginning of kernel-doc' notation markers (/**)
> in places that are not in kernel-doc format.
This looks good to me. Arguably we don't need the comments at all, but
it doesn't seem to hurt to keep them.
checkpatch is OK with the entire file, so there's nothing
On Thu, Mar 25, 2021 at 8:22 AM Lorenz Bauer wrote:
>
> Invoking BPF_OBJ_GET on a pinned bpf_link checks the path access
> permissions based on file_flags, but the returned fd ignores flags.
> This means that any user can acquire a "read-write" fd for a pinned
> link with mode 0664 by invoking
Hi all-
glibc appears to use AVX512F for memcpy by default. (Unless
Prefer_ERMS is default-on, but I genuinely can't tell if this is the
case. I did some searching.) The commit adding it refers to a 2016
email saying that it's 30% on KNL. Unfortunately, AVX-512 is now
available in normal
On Tue, Mar 23, 2021 at 01:39:38PM -0700, Sami Tolvanen wrote:
> list_sort() internally casts the comparison function passed to it
> to a different type with constant struct list_head pointers, and
> uses this pointer to call the functions, which trips indirect call
> Control-Flow Integrity (CFI)
On Tue, Mar 23, 2021 at 01:39:34PM -0700, Sami Tolvanen wrote:
> With CONFIG_CFI_CLANG, a callback function passed to
> __queue_delayed_work from a module points to a jump table entry
> defined in the module instead of the one used in the core kernel,
> which breaks function address equality in
On Tue, Mar 23, 2021 at 01:39:35PM -0700, Sami Tolvanen wrote:
> With CONFIG_CFI_CLANG, a callback function passed to
> __kthread_queue_delayed_work from a module points to a jump table
> entry defined in the module instead of the one used in the core
> kernel, which breaks function address
On Tue, Mar 23, 2021 at 01:39:33PM -0700, Sami Tolvanen wrote:
> CONFIG_CFI_CLANG_SHADOW assumes the __cfi_check() function is page
> aligned and at the beginning of the .text section. While Clang would
> normally align the function correctly, it fails to do so for modules
> with no executable
On Thu, Mar 25, 2021 at 8:02 AM Pedro Tammela wrote:
>
> The current code bails out with negative and positive returns.
> If the callback returns a positive return code, 'ring_buffer__consume()'
> and 'ring_buffer__poll()' will return a spurious number of records
> consumed, but mostly important
On Wed, Mar 24, 2021 at 08:15:18PM +0100, Mickaël Salaün wrote:
> From: Mickaël Salaün
>
> Test all Landlock system calls, ptrace hooks semantic and filesystem
> access-control with multiple layouts.
>
> Test coverage for security/landlock/ is 93.6% of lines. The code not
> covered only deals
On Wed, Mar 24, 2021 at 08:15:20PM +0100, Mickaël Salaün wrote:
> From: Mickaël Salaün
>
> Add a first document describing userspace API: how to define and enforce
> a Landlock security policy. This is explained with a simple example.
> The Landlock system calls are described with their
Hi Martin,
On 3/25/21 22:34, Martin K. Petersen wrote:
>
> Gustavo,
>
>> Precisely this sort of confusion is one of the things we want to avoid
>> by using flexible-array members instead of one-element arrays.
>
> Ah, you're right!
>
> Now that I look at it again I also don't think that was
On 3/16/2021 5:48 AM, Cristian Marussi wrote:
> Hi all,
>
> The current SCMI implementation does not provide an interface to easily
> develop and include a custom vendor protocol implementation as prescribed
> by the SCMI standard, also because, there is not currently any custom
> protocol in
On Fri, 26 Mar 2021, Matthew Wilcox wrote:
> On Thu, Mar 25, 2021 at 06:55:42PM -0700, Hugh Dickins wrote:
> > The first reason occurred to me this morning. I thought I had been
> > clever to spot the PageHead race which you fix here. But now I just feel
> > very stupid not to have spotted the
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master
head: db24726bfefa68c606947a86132591568a06bfb4
commit: 6b5b368fccd7109b052e45af8ba1464c8d140a49 KVM: arm64: Turn
kvm_arm_support_pmu_v3() into a static key
date: 3 weeks ago
config:
allmodconfig
powerpc allyesconfig
powerpc allmodconfig
powerpc allnoconfig
x86_64 randconfig-a002-20210325
x86_64 randconfig-a003-20210325
x86_64 randconfig-a006-20210325
Goto labels are commonly written in the leftmost column (sometimes with
one space in front), regardless of indentation level. Sometimes they're
on a line of their own, but sometimes the same line is shared with a
normal code statement that then starts at the expected indentation
level. When
From: Ivo Sieben
Raise a SUSPICIOUS_CODE_INDENT warning when unexpected indentation is found
after a conditional statement. This can be used to find missing braces or
wrong indentation in/after a conditional statement.
For example the following error is caught;
if (foo)
The preprocessor guard tracking in ctx_statement_block() is (and seems
to have always been) subtly broken whenever tracking over an #else: the
code is supposed to restore state from the current top of the stack
(like and #endif just without removing it). However, it indexes the
stack at [$#stack -
This patch series is adding functionality to checkpatch.pl to test for
incorrect code indentation after a conditional statement, like this:
if (a)
b;
c;
(Indentation implies that `c;` was guarded by the conditional, but it
isn't.) The main part is re-sending a patch from Ivo Sieben that
Hi Satya,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on block/for-next]
[also build test WARNING on dm/for-next mkp-scsi/for-next scsi/for-next
linux/master linus/master v5.12-rc4 next-20210325]
[If your patch is applied to the wrong git tree, kindly drop us
On 3/25/21 2:26 PM, Satya Tangirala wrote:
> @@ -1458,6 +1458,7 @@ struct bio *bio_split(struct bio *bio, int sectors,
>
> BUG_ON(sectors <= 0);
> BUG_ON(sectors >= bio_sectors(bio));
> + WARN_ON(!IS_ALIGNED(sectors, bio_required_sector_alignment(bio)));
Please change this
On 3/25/21 6:39 PM, Satya Tangirala wrote:
> On Thu, Mar 25, 2021 at 02:51:31PM -0700, Bart Van Assche wrote:
>> Are you sure that the block layer core splits bios at logical block
>> boundaries? Commit 9cc5169cd478 ("block: Improve physical block
>> alignment of split bios") should have changed
On Fri, Mar 26, 2021 at 10:55:42AM +0800, Qinglang Miao wrote:
> Remove duplicated include.
>
> Reported-by: Hulk Robot
> Signed-off-by: Qinglang Miao
can't you make hulk robot do something useful, like untangle the
mass of header includes? For example, in -next, net/ipv4/tcp.c
has a
Gustavo,
> Precisely this sort of confusion is one of the things we want to avoid
> by using flexible-array members instead of one-element arrays.
Ah, you're right!
Now that I look at it again I also don't think that was the issue that
originally caused concern.
@@ -4020,7 +4020,8 @@ static
Hi Linus,
As expected last week things were overly quiet so this week things
seem to have caught up. It still isn't too major.
msm and amdgpu lead the size here, the msm fixes are pretty varied
across the driver, the amdgpu one is mostly the S0ix fixes with some
other minor ones. Otherwise there
The ipu_plane_disable_deferred() and ipu_planes_assign_pre() functions have
not been used by any other modules but only imxdrm itself internally since
imxdrm and imx-ipuv3-crtc were merged in one module. So, this patch removes
export symbols for the two functions.
Fixes: 3d1df96ad468 (drm/imx:
Hello,
On Fri, Mar 26, 2021 at 11:24 AM Yang Jihong wrote:
>
> Hello,
> ping :)
>
> On 2021/3/19 20:35, Yang Jihong wrote:
> > In hist__find_annotations function, since different hist_entry may point to
> > same
> > symbol, we free notes->src to signal already processed this symbol in stdio
>
The IOMMU in many SoC depends on the MM clocks and power-domain which
are device_initcall normally, thus the subsys_init here is not helpful.
This patch switches it to module_platform_driver which also allow the
driver built as module.
Correspondingly switch the config to tristate, and update the
This patch only adds support for building the IOMMU-v1 driver as module.
Correspondingly switch the config to tristate and update the iommu_ops's
owner to THIS_MODULE.
Signed-off-by: Yong Wu
---
v2: change note:
a) Update iommu_ops's owner to THIS_MODULE
b) Fix typo in the title from
The BUG_ON checks are intended to check if the task priotity is valid,
but in the function convert_prio, if the task priority is not valid, it
will be converted to an uninitialized stack variable. Fix it by moving
the BUG_ON checks to the default branch of convert_prio.
Fixes: 934fc3314b39
Hi,
This is a new version of the series [1] that I have posted before. It makes some
efficiency improvement of stage2 page table code and there are some test results
to quantify the benefit of each patch.
[1] v2:
https://lore.kernel.org/lkml/20210310094319.18760-1-wangyana...@huawei.com/
With a guest translation fault, the memcache pages are not needed if KVM
is only about to install a new leaf entry into the existing page table.
And with a guest permission fault, the memcache pages are also not needed
for a write_fault in dirty-logging time if KVM is only about to update
the
We currently uniformly permorm CMOs of D-cache and I-cache in function
user_mem_abort before calling the fault handlers. If we get concurrent
guest faults(e.g. translation faults, permission faults) or some really
unnecessary guest faults caused by BBM, CMOs for the first vcpu are
necessary while
On 3/25/21 7:55 PM, Daejun Park wrote:
>> Please address it in next version. After that, I will give my
>> reviewed-by tag.
>
> OK, I will do.
Hi,
Please trim emails when replying. Otherwise it is very hard to follow a
conversation. It took me plenty of scrolling to find the above reply.
Remove CLK_INFRA_CA57SEL for MT8173 since it's no longer used.
Signed-off-by: Seiya Wang
---
include/dt-bindings/clock/mt8173-clk.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/include/dt-bindings/clock/mt8173-clk.h
b/include/dt-bindings/clock/mt8173-clk.h
index
Update the cpu type of cpu2 and cpu3 since MT8173 used Cortex-a72.
Signed-off-by: Seiya Wang
---
Documentation/devicetree/bindings/cpufreq/cpufreq-mediatek.txt | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git
s/dervied/derived/ ..two different sentences.
s/nore/more/
Signed-off-by: Bhaskar Chowdhury
---
lib/xz/xz_dec_lzma2.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/xz/xz_dec_lzma2.c b/lib/xz/xz_dec_lzma2.c
index ca2603abee08..dca8c5c83ae8 100644
---
s/Additonal/Additional/
s/assocaited/associated/
s/assocaited/associated/
s/assocating/associating/
s/becasue/because/
s/configred/configured/
s/deactive/deactivate/
s/followings/following/
s/funtion/function/
s/heirarchy/hierarchy/
s/intiailized/initialized/
s/prefered/preferred/
From: ganjisheng
Signed-off-by: ganjisheng
---
drivers/scsi/advansys.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
index ec56278..e9516de 100644
--- a/drivers/scsi/advansys.c
+++ b/drivers/scsi/advansys.c
@@ -1812,7
It can be optimized at compile time.
Signed-off-by: zhouchuangao
---
mm/zsmalloc.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index 30c358b..58697f7 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -1987,8 +1987,7 @@ static int
> On 2021-03-25 08:47, Daejun Park wrote:
> >> On 2021-03-22 14:55, Daejun Park wrote:
> >> > This patch supports the HPB 2.0.
> >> >
> >> > The HPB 2.0 supports read of varying sizes from 4KB to 512KB.
> >> > In the case of Read (<= 32KB) is supported as single HPB read.
> >> > In the case of
On Thu, Mar 25, 2021 at 06:55:42PM -0700, Hugh Dickins wrote:
> The first reason occurred to me this morning. I thought I had been
> clever to spot the PageHead race which you fix here. But now I just feel
> very stupid not to have spotted the very similar memcg_data race. The
> speculative
Am 2021-03-23 um 10:56 a.m. schrieb Alex Deucher:
> Applied. Thanks!
Thanks. I thought we fixed this before by making the file write-only.
But I guess that's not sufficient to stop root from reading it:
commit 2bdac179e217a0c0b548a8c60524977586621b19
Author: Felix Kuehling
Date: Thu Dec 19
On Thu, Mar 25, 2021 at 3:01 AM Thomas Bogendoerfer
wrote:
>
> On Tue, Mar 16, 2021 at 10:59:02PM -0700, Ilya Lipnitskiy wrote:
> > From: Chuanhong Guo
> >
> > mt7621 has the following memory map:
> > 0x0-0x1c00: lower 448m memory
> > 0x1c00-0x200: peripheral registers
> >
Turn off host updates to the registered kvmclock memory
locations when transitioning to a hibernated kernel in
resume_target_kernel().
This is accomplished for secondary vcpus by disabling host
clock updates for that vcpu when it is put offline. For the
primary vcpu, it's accomplished by using
On 3/25/21 7:34 PM, Bhaskar Chowdhury wrote:
>
> s/eninges/engines/ ...two different places.
> s/explicity/explicitly/ two different places.
>
> Signed-off-by: Bhaskar Chowdhury
Acked-by: Randy Dunlap
> ---
> crypto/async_tx/async_xor.c | 8
> 1 file changed, 4 insertions(+),
s/eninges/engines/ ...two different places.
s/explicity/explicitly/ two different places.
Signed-off-by: Bhaskar Chowdhury
---
crypto/async_tx/async_xor.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/crypto/async_tx/async_xor.c
On 3/25/21 7:22 PM, Bhaskar Chowdhury wrote:
>
> s/runtine/runtime/
> s/AQUIRE/ACQUIRE/
> s/seperately/separately/
> s/wont/won\'t/
> s/succesfull/successful/
>
> Signed-off-by: Bhaskar Chowdhury
Acked-by: Randy Dunlap
> ---
> Changes from V1:
> Wrongly spelt filename in the subject line,
On 3/17/21 9:30 AM, Vitaly Kuznetsov wrote:
Lenny Szubowicz writes:
Turn off host updates to the registered kvmclock memory
locations when transitioning to a hibernated kernel in
resume_target_kernel().
This is accomplished for secondary vcpus by disabling host
clock updates for that vcpu
sparse_buffer_init() and sparse_buffer_fini() should appear in pair, or
a WARN issue would be through the next time sparse_buffer_init() runs.
Add the missing sparse_buffer_fini() in error branch.
Fixes: 85c77f791390 ("mm/sparse: add new sparse_init_nid() and sparse_init()")
Signed-off-by: Wang
The function tick_check_replacement() is the combination of
tick_check_percpu() and tick_check_preferred(). It make the code easier to
understand to use the self-described one function.
Signed-off-by: Wang Wensheng
---
kernel/time/tick-common.c | 7 +--
1 file changed, 1 insertion(+), 6
Remove duplicated include.
Reported-by: Hulk Robot
Signed-off-by: Qinglang Miao
---
mm/page_alloc.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index c53fe4fa10bf..e51826c87a0b 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -72,7 +72,6 @@
Hello,
ping :)
On 2021/3/19 20:35, Yang Jihong wrote:
In hist__find_annotations function, since different hist_entry may point to same
symbol, we free notes->src to signal already processed this symbol in stdio
mode;
when annotate, entry will skipped if notes->src is NULL to avoid repeated
s/runtine/runtime/
s/AQUIRE/ACQUIRE/
s/seperately/separately/
s/wont/won\'t/
s/succesfull/successful/
Signed-off-by: Bhaskar Chowdhury
---
Changes from V1:
Wrongly spelt filename in the subject line, corrected.
ipc/sem.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
It works for me on Zen2.
> 2021年3月24日 下午10:44,Doug Smythies 写道:
>
> Just resending to previously missed people who should also test this.
> (See other e-mail: Re: turbostat: Fix Pkg Power on Zen)
>
> On Sat, Mar 13, 2021 at 5:49 AM youling 257 wrote:
>>
>> test this patch, turbostat can
In the process of calculating the hash, use the more accurate type
'u32' instead of the original 'unsigned int' to avoid ambiguity.
Signed-off-by: Tianjia Zhang
---
crypto/sm3_generic.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/crypto/sm3_generic.c
Let the TDP MMU yield when unmapping a range in response to a MMU
notification, if yielding is allowed by said notification. There is no
reason to disallow yielding in this case, and in theory the range being
invalidated could be quite large.
Cc: Ben Gardon
Signed-off-by: Sean Christopherson
Remove x86's trace_kvm_age_page() tracepoint. It's mostly redundant with
the common trace_kvm_age_hva() tracepoint, and if there is a need for the
extra details, e.g. gfn, referenced, etc... those details should be added
to the common tracepoint so that all architectures and MMUs benefit from
the
Avoid taking mmu_lock for unrelated .invalidate_range_{start,end}()
notifications. Because mmu_notifier_count must be modified while holding
mmu_lock for write, and must always be paired across start->end to stay
balanced, lock elision must happen in both or none. To meet that
requirement, add a
Defer acquiring mmu_lock in the MMU notifier paths until a "hit" has been
detected in the memslots, i.e. don't take the lock for notifications that
don't affect the guest.
For small VMs, spurious locking is a minor annoyance. And for "volatile"
setups where the majority of notifications _are_
Yank out the hva-based MMU notifier APIs now that all architectures that
use the notifiers have moved to the gfn-based APIs.
No functional change intended.
Signed-off-by: Sean Christopherson
---
arch/arm64/include/asm/kvm_host.h | 1 -
arch/mips/include/asm/kvm_host.h| 1 -
Move MIPS to the gfn-based MMU notifier APIs, which do the hva->gfn
lookup in common code, and whose code is nearly identical to MIPS'
lookup.
No meaningful functional change intended, though the exact order of
operations is slightly different since the memslot lookups occur before
calling into
Move PPC to the gfn-base MMU notifier APIs, and update all 15 bajillion
PPC-internal hooks to work with gfns instead of hvas.
No meaningful functional change intended, though the exact order of
operations is slightly different since the memslot lookups occur before
calling into arch code.
Move the hva->gfn lookup for MMU notifiers into common code. Every arch
does a similar lookup, and some arch code is all but identical across
multiple architectures.
In addition to consolidating code, this will allow introducing
optimizations that will benefit all architectures without incurring
Move arm64's MMU notifier trace events into common code in preparation
for doing the hva->gfn lookup in common code. The alternative would be
to trace the gfn instead of hva, but that's not obviously better and
could also be done in common code. Tracing the notifiers is also quite
handy for
Move arm64 to the gfn-base MMU notifier APIs, which do the hva->gfn
lookup in common code.
Note, due to arch code being called if and only if a memslot is found,
the clean_dcache_guest_page() call in kvm_set_spte_*() is will no longer
be called for addresses that are not found in the guest
Move the address space ID check that is performed when iterating over
roots into the macro helpers to consolidate code.
No functional change intended.
Signed-off-by: Sean Christopherson
---
arch/x86/kvm/mmu/mmu_internal.h | 7 ++-
arch/x86/kvm/mmu/tdp_mmu.c | 99
Move the prototypes for the MMU notifier callbacks out of arch code and
into common code. There is no benefit to having each arch replicate the
prototypes since any deviation from the invocation in common code will
explode.
No functional change intended.
Signed-off-by: Sean Christopherson
---
Use the leaf-only TDP iterator when changing the SPTE in reaction to a
MMU notifier. Practically speaking, this is a nop since the guts of the
loop explicitly looks for 4k SPTEs, which are always leaf SPTEs. Switch
the iterator to match age_gfn_range() and test_age_gfn() so that a future
patch
Pass the address space ID to TDP MMU's primary "zap gfn range" helper to
allow the MMU notifier paths to iterate over memslots exactly once.
Currently, both the legacy MMU and TDP MMU iterate over memslots when
looking for an overlapping hva range, which can be quite costly if there
are a large
Gather pending TLB flushes across both address spaces when zapping a
given gfn range. This requires feeding "flush" back into subsequent
calls, but on the plus side sets the stage for further batching
between the legacy MMU and TDP MMU. It also allows refactoring the
address space iteration to
When zapping collapsible SPTEs across multiple roots, gather pending
flushes and perform a single remote TLB flush at the end, as opposed to
flushing after processing every root.
Note, flush may be cleared by the result of zap_collapsible_spte_range().
This is intended and correct, e.g. yielding
Place the onus on the caller of slot_handle_*() to flush the TLB, rather
than handling the flush in the helper, and rename parameters accordingly.
This will allow future patches to coalesce flushes between address spaces
and between the legacy and TDP MMUs.
No functional change intended.
Gather pending TLB flushes across both the legacy and TDP MMUs when
zapping collapsible SPTEs to avoid multiple flushes if both the legacy
MMU (for nested guests) and TDP MMU have mappings for the memslot.
Note, this also optimizes the TDP MMU to flush only the relevant range
when running as L1
The end goal of this series is to optimize the MMU notifiers to take
mmu_lock if and only if the notification is relevant to KVM, i.e. the hva
range overlaps a memslot. Large VMs (hundreds of vCPUs) are very
sensitive to mmu_lock being taken for write at inopportune times, and
such VMs also tend
On Tue, Mar 23, 2021 at 8:17 AM Arnd Bergmann wrote:
>
> From: Arnd Bergmann
>
> When building with W=1, gcc points out that the __packed attribute
> on struct qm_eqcr_entry conflicts with the 8-byte alignment
> attribute on struct qm_fd inside it:
>
> drivers/soc/fsl/qbman/qman.c:189:1: error:
s/runtine/runtime/
s/AQUIRE/ACQUIRE/
s/seperately/separately/
s/wont/won\'t/
s/succesfull/successful/
Signed-off-by: Bhaskar Chowdhury
---
ipc/sem.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/ipc/sem.c b/ipc/sem.c
index f6c30a85dadf..0897dac27f43 100644
---
On 2021/3/25 8:28, Mike Kravetz wrote:
> After making hugetlb lock irq safe and separating some functionality
> done under the lock, add some lockdep_assert_held to help verify
> locking.
>
Looks good to me. Thanks.
Reviewed-by: Miaohe Lin
> Signed-off-by: Mike Kravetz
> ---
> mm/hugetlb.c |
1 - 100 of 1616 matches
Mail list logo