From owner-freebsd-xen@FreeBSD.ORG Tue Dec 4 21:12:33 2012 Return-Path: Delivered-To: xen@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 45126215 for ; Tue, 4 Dec 2012 21:12:33 +0000 (UTC) (envelope-from seanwbruno@gmail.com) Received: from mail-pb0-f54.google.com (mail-pb0-f54.google.com [209.85.160.54]) by mx1.freebsd.org (Postfix) with ESMTP id 10F6F8FC13 for ; Tue, 4 Dec 2012 21:12:32 +0000 (UTC) Received: by mail-pb0-f54.google.com with SMTP id wz12so3139278pbc.13 for ; Tue, 04 Dec 2012 13:12:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:from:reply-to:to:cc:in-reply-to:references:content-type :date:message-id:mime-version:x-mailer:content-transfer-encoding; bh=QS9imGUfFZk1XMh0my4xE2L90YcvdJhZ3OMvFhWFwYs=; b=s2mGz6Ie+VnhLHssTmLK7H4J8hhBx5y9RE8o5wUk2/oF5v89YuKporVEH2Q+fEnUHc 25h0MbqyUSjRmmoASjLTlP8xPlxNjAX43iivI0lvAZhuPwQVevXG8dz/CTf25ebZz8aT 0H/CICxipQqi4kLu8SUFYzSRK8WrF0M7RZhQgW21mU7r5ng20PpaB3We38jFHkwuvjJ4 Je8K/R1uT7m8WbGtXvk+djK5+KYRV7tS9aMcdiB+KPO8P4KY9TiRBsrJFceZw5x3SRKo 2iqiFcZ4kAm2uxlluOD8f3b6CynJ7AfVlEfvleiMBv+6KezQeOk0si8LWjT00gROMn95 WtMw== Received: by 10.66.72.71 with SMTP id b7mr38282167pav.28.1354655552533; Tue, 04 Dec 2012 13:12:32 -0800 (PST) Received: from [10.73.160.242] (nat-dip7.cfw-a-gci.corp.yahoo.com. [209.131.62.116]) by mx.google.com with ESMTPS id hs2sm1563894pbc.22.2012.12.04.13.12.31 (version=SSLv3 cipher=OTHER); Tue, 04 Dec 2012 13:12:31 -0800 (PST) Subject: Re: Call for testers: vfork(2) repair for Xen From: Sean Bruno To: Konstantin Belousov In-Reply-To: <20121204210255.GS3013@kib.kiev.ua> References: <20121204210255.GS3013@kib.kiev.ua> Content-Type: text/plain; charset="UTF-8" Date: Tue, 04 Dec 2012 13:12:30 -0800 Message-ID: <1354655550.2302.9.camel@powernoodle.corp.yahoo.com> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: xen@freebsd.org X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: sbruno@freebsd.org List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Dec 2012 21:12:33 -0000 On Tue, 2012-12-04 at 23:02 +0200, Konstantin Belousov wrote: > Hi, > there is plain erronous special case for Xen in the handling of vfork(2) > syscall, which converts it into the fork(2), but only on Xen. I think this > was a bug to commit the change in the course of importing Xen support at all. > > Could somebody of you, who use paravirtualized kernels, test the patch > below. After the patched kernel is booted, just running csh(1) and > calling any external command from it, e.g. ls(1), is enough. > > I already tried to solicit the testing of the fix in private, but nobody > responded. I am going to commit the change in a week, unless somebody > report a real issue with Xen pmap, uncovered by it. > > diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c > index b8a4825..0d2709f 100644 > --- a/sys/kern/kern_fork.c > +++ b/sys/kern/kern_fork.c > @@ -150,11 +150,7 @@ sys_vfork(struct thread *td, struct vfork_args *uap) > int error, flags; > struct proc *p2; > > -#ifdef XEN > - flags = RFFDG | RFPROC; /* validate that this is still an issue */ > -#else > flags = RFFDG | RFPROC | RFPPWAIT | RFMEM; > -#endif > error = fork1(td, flags, 0, &p2, NULL, 0); > if (error == 0) { > td->td_retval[0] = p2->p_pid; Ack. Will test tonight after dom0.freebsd.org is restored. Sean