linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Ingo Molnar <mingo@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	x86@kernel.org, linux-arch@vger.kernel.org,
	Will Deacon <will@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	Mark Rutland <mark.rutland@arm.com>,
	Kees Cook <keescook@chromium.org>,
	Keno Fischer <keno@juliacomputing.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	kvm@vger.kernel.org,
	Gabriel Krisman Bertazi <krisman@collabora.com>,
	Sean Christopherson <sean.j.christopherson@intel.com>
Subject: Re: [patch V5 15/15] x86/kvm: Use generic xfer to guest work function
Date: Fri, 24 Jul 2020 21:08:34 +0200	[thread overview]
Message-ID: <87k0ysu3wt.fsf@nanos.tec.linutronix.de> (raw)
In-Reply-To: <20200724142426.GA651711@gmail.com>

Ingo Molnar <mingo@kernel.org> writes:
> * Thomas Gleixner <tglx@linutronix.de> wrote:
>>  		/*
>> -		 * Note, return 1 and not 0, vcpu_run() is responsible for
>> -		 * morphing the pending signal into the proper return code.
>> +		 * Note, return 1 and not 0, vcpu_run() will invoke
>> +		 * xfer_to_guest_mode() which will create a proper return
>> +		 * code.
>>  		 */
>> -		if (signal_pending(current))
>> +		if (__xfer_to_guest_mode_work_pending())
>>  			return 1;
>> -
>> -		if (need_resched())
>> -			schedule();
>>  	}
>
> AFAICS this chunk removes a conditional reschedule point from 
> handle_invalid_guest_state() and replaces it with 
> __xfer_to_guest_mode_work_pending().
>
> But __xfer_to_guest_mode_work_pending() doesn't do the cond-resched of 
> the full xfer_to_guest_mode_work() function - so we essentially lose a 
> cond_resched() here.
>
> Is this side effect intended, was the cond_resched() superfluous?

It makes the thing drop back to the outer loop for any pending work not
only for signals. That avoids having yet another thing to worry about.

Thanks,

        tglx

  reply	other threads:[~2020-07-24 19:08 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-22 21:59 [patch V5 00/15] entry, x86, kvm: Generic entry/exit functionality for host and guest Thomas Gleixner
2020-07-22 21:59 ` [patch V5 01/15] seccomp: Provide stub for __secure_computing() Thomas Gleixner
2020-07-24 19:08   ` [tip: core/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 21:59 ` [patch V5 02/15] entry: Provide generic syscall entry functionality Thomas Gleixner
2020-07-24 19:08   ` [tip: core/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 21:59 ` [patch V5 03/15] entry: Provide generic syscall exit function Thomas Gleixner
2020-07-24 19:08   ` [tip: core/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 21:59 ` [patch V5 04/15] entry: Provide generic interrupt entry/exit code Thomas Gleixner
2020-07-24 19:08   ` [tip: core/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 21:59 ` [patch V5 05/15] entry: Provide infrastructure for work before transitioning to guest mode Thomas Gleixner
2020-07-24 19:08   ` [tip: core/entry] " tip-bot2 for Thomas Gleixner
2020-07-29 16:55   ` [patch V5 05/15] " Qian Cai
2020-07-30  7:19     ` Thomas Gleixner
2020-07-30 10:34       ` [tip: x86/entry] x86/kvm: Use __xfer_to_guest_mode_work_pending() in kvm_run_vcpu() tip-bot2 for Thomas Gleixner
2020-07-22 22:00 ` [patch V5 06/15] x86/entry: Consolidate check_user_regs() Thomas Gleixner
2020-07-24 20:11   ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 22:00 ` [patch V5 07/15] x86/entry: Consolidate 32/64 bit syscall entry Thomas Gleixner
2020-07-24 20:11   ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner
2020-07-26 18:33     ` Brian Gerst
2020-07-27 13:38       ` Thomas Gleixner
2020-07-22 22:00 ` [patch V5 08/15] x86/entry: Move user return notifier out of loop Thomas Gleixner
2020-07-23 23:41   ` Sean Christopherson
2020-07-24 20:11   ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 22:00 ` [patch V5 09/15] x86/ptrace: Provide pt_regs helper for entry/exit Thomas Gleixner
2020-07-24 20:11   ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 22:00 ` [patch V5 10/15] x86/entry: Use generic syscall entry function Thomas Gleixner
2020-07-24 20:11   ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 22:00 ` [patch V5 11/15] x86/entry: Use generic syscall exit functionality Thomas Gleixner
2020-07-24 20:11   ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 22:00 ` [patch V5 12/15] x86/entry: Cleanup idtentry_entry/exit_user Thomas Gleixner
2020-07-24 20:11   ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 22:00 ` [patch V5 13/15] x86/entry: Use generic interrupt entry/exit code Thomas Gleixner
2020-07-24 14:28   ` Ingo Molnar
2020-07-24 20:11   ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 22:00 ` [patch V5 14/15] x86/entry: Cleanup idtentry_enter/exit Thomas Gleixner
2020-07-24 20:11   ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner
2020-07-22 22:00 ` [patch V5 15/15] x86/kvm: Use generic xfer to guest work function Thomas Gleixner
2020-07-24  0:17   ` Sean Christopherson
2020-07-24  0:46     ` Thomas Gleixner
2020-07-24  0:55       ` Sean Christopherson
2020-07-24 14:24   ` Ingo Molnar
2020-07-24 19:08     ` Thomas Gleixner [this message]
2020-07-24 20:11   ` [tip: x86/entry] " tip-bot2 for Thomas Gleixner
2020-07-24 20:51 ` [patch V5 00/15] entry, x86, kvm: Generic entry/exit functionality for host and guest Thomas Gleixner
2020-07-29 13:39   ` Steven Price

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87k0ysu3wt.fsf@nanos.tec.linutronix.de \
    --to=tglx@linutronix.de \
    --cc=arnd@arndb.de \
    --cc=keescook@chromium.org \
    --cc=keno@juliacomputing.com \
    --cc=krisman@collabora.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=sean.j.christopherson@intel.com \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).