lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9ab8107f-ff41-6a9e-57e1-a261bea93aca@redhat.com>
Date:   Fri, 17 Dec 2021 16:54:22 +0100
From:   Paolo Bonzini <pbonzini@...hat.com>
To:     Mark Rutland <mark.rutland@....com>,
        Nicolas Saenz Julienne <nsaenzju@...hat.com>
Cc:     paulmck <paulmck@...nel.org>, maz <maz@...nel.org>,
        frederic <frederic@...nel.org>,
        linux-kernel <linux-kernel@...r.kernel.org>,
        rcu <rcu@...r.kernel.org>, Thomas Gleixner <tglx@...utronix.de>,
        Will Deacon <will@...nel.org>, kvmarm@...ts.cs.columbia.edu,
        linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>
Subject: Re: Possible nohz-full/RCU issue in arm64 KVM

On 12/17/21 15:38, Mark Rutland wrote:
> For example kvm_guest_enter_irqoff() calls guest_enter_irq_off() which calls
> vtime_account_guest_enter(), but kvm_guest_exit_irqoff() doesn't call
> guest_exit_irq_off() and the call to vtime_account_guest_exit() is open-coded
> elsewhere. Also, guest_enter_irq_off() conditionally calls
> rcu_virt_note_context_switch(), but I can't immediately spot anything on the
> exit side that corresponded with that, which looks suspicious.

rcu_note_context_switch() is a point-in-time notification; it's not 
strictly necessary, but it may improve performance a bit by avoiding 
unnecessary IPIs from the RCU subsystem.

There's no benefit from doing it when you're back from the guest, 
because at that point the CPU is just running normal kernel code.

Paolo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ