From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753998Ab1J0BoD (ORCPT ); Wed, 26 Oct 2011 21:44:03 -0400 Received: from ozlabs.org ([203.10.76.45]:57371 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751099Ab1J0BoA convert rfc822-to-8bit (ORCPT ); Wed, 26 Oct 2011 21:44:00 -0400 From: Rusty Russell To: Linus Torvalds Cc: lkml - Kernel Mailing List , Jiri Kosina , Michal Schmidt Subject: Re: [PULL] module and param In-Reply-To: References: <87mxcppwg0.fsf@rustcorp.com.au> <878vo8pj4h.fsf@rustcorp.com.au> User-Agent: Notmuch/0.6.1-1 (http://notmuchmail.org) Emacs/23.3.1 (i686-pc-linux-gnu) Date: Thu, 27 Oct 2011 11:15:21 +1030 Message-ID: <87bot3nty6.fsf@rustcorp.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 26 Oct 2011 14:45:48 +0200, Linus Torvalds wrote: > On Wed, Oct 26, 2011 at 4:43 AM, Rusty Russell wrote: > >  + 694136c...b1e4d20 master -> master (forced update) > >  * [new tag]         rusty@rustcorp.com.au-v3.1-2-gb1e4d20 -> rusty@rustcorp.com.au-v3.1-2-gb1e4d20 > > That tag doesn't have any signature on it at all, it's just a plain > unsigned tag (ie just points to the commit) and thus useless. Weird, my script seems to work now. If not please complain and I'll find a git expert: I have virtio patches after this, and final module one. The following changes since commit 138c4ae9cfda8fdcf9e137457853b09ef8cf8f77: Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux (2011-10-26 21:46:18 +0200) are available in the git repository at: git://github.com/rustyrussell/linux.git master Michal Hocko (1): lguest: move process freezing before pending signals check Rusty Russell (2): lguest: Allow running under paravirt-enabled KVM. lguest: don't allow KVM-detection cpuid. arch/x86/lguest/boot.c | 10 ++++++++++ drivers/lguest/core.c | 16 ++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) rusty@rusty-x201:~/devel/kernel/linux (master)$ git show rusty@rustcorp.com.au-v3.1-4896-g0acf000 | cat tag rusty@rustcorp.com.au-v3.1-4896-g0acf000 Tagger: Rusty Russell Date: Thu Oct 27 10:56:18 2011 +1030 Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJOqKUqAAoJENkgDmzRrbjxXvYP/0fFsfCyqjMsByTiExMMOJFx Pf3TNUbyiK5ghIMG/zclKP46jJUn1q2LqgskBgtYY07zonNrG4qAowm0V/o6xDi3 Fc0dSGaXvgt5yIJSB/oyrYXOATHw/GESsiz2YQc5V9rPL/DxKcLescfcAPYizwRk 5zeo5Dhf4aJ8qbZtuvuRQv1fPaYjGTQNez2a/OOJ/6ROL/sg6xE6sP7mwtL3Ds4g ZewBl8mDGVwxRKEYCSrUcQ+h43Uc2pOaLXVEdYVMlfRX7flkklrT+r3KVt9B4+bp XaHNS9/l3Ntd0JSJ188IOK3njfW0BzjuAFHmPj2ttZU38sNb00ThHHbxl0rImDeQ DtlTlPzUg2rihLXJeoDznttx3VaGeKdURoK0S3OyexpuJUE4xJ3BgA3PuZGDFYUd aGCQ8bvp3PIgfjkMMI1slF6WSYKEQBumt0CgEYopzLy/A0CuEqqW/9NNcATOykTa vqLSMIdbZW3zimTwZr4sPIDjjP0g71QcPBMI6ikmgKCRpoysSA3s/xw/MwxBcsXw NRSloQULxe99U6/NGd3/++cx145QCj4F39a9L2xv5vISf6I1aeR1IwJ4+EsYP7eh cEDTCdcC7L8bw8XLCphDcPH3I04CDOca463DuItFfCwWFERLP44oC+bLarU/D6Pi j5S/HRwo3cBL1WX02w7L =IxKg -----END PGP SIGNATURE----- commit 0acf00014bcfd71090c3b0d43c98e970108064e4 Author: Michal Hocko Date: Tue Sep 27 08:56:03 2011 +0200 lguest: move process freezing before pending signals check run_guest tries to freeze the current process after it has handled pending interrupts and before it calls lguest_arch_run_guest. This doesn't work nicely if the task has been killed while being frozen and when we want to handle that signal as soon as possible. Let's move try_to_freeze before we check for pending signal so that we can get out of the loop as soon as possible. Signed-off-by: Michal Hocko Acked-by: Rusty Russell Signed-off-by: Rusty Russell diff --git a/drivers/lguest/core.c b/drivers/lguest/core.c index 5c13e93..b5fdcb7 100644 --- a/drivers/lguest/core.c +++ b/drivers/lguest/core.c @@ -232,6 +232,13 @@ int run_guest(struct lg_cpu *cpu, unsigned long __user *user) } } + /* + * All long-lived kernel loops need to check with this horrible + * thing called the freezer. If the Host is trying to suspend, + * it stops us. + */ + try_to_freeze(); + /* Check for signals */ if (signal_pending(current)) return -ERESTARTSYS; @@ -246,13 +253,6 @@ int run_guest(struct lg_cpu *cpu, unsigned long __user *user) try_deliver_interrupt(cpu, irq, more); /* - * All long-lived kernel loops need to check with this horrible - * thing called the freezer. If the Host is trying to suspend, - * it stops us. - */ - try_to_freeze(); - - /* * Just make absolutely sure the Guest is still alive. One of * those hypercalls could have been fatal, for example. */ rusty@rusty-x201:~/devel/kernel/linux (master)$