From owner-svn-src-all@FreeBSD.ORG Tue Dec 7 12:24:49 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2A021065675; Tue, 7 Dec 2010 12:24:49 +0000 (UTC) (envelope-from avg@freebsd.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 859218FC19; Tue, 7 Dec 2010 12:24:48 +0000 (UTC) Received: from porto.topspin.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id OAA00990; Tue, 07 Dec 2010 14:24:47 +0200 (EET) (envelope-from avg@freebsd.org) Received: from localhost.topspin.kiev.ua ([127.0.0.1]) by porto.topspin.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1PPwb8-000Gu2-UT; Tue, 07 Dec 2010 14:24:46 +0200 Message-ID: <4CFE278E.5060008@freebsd.org> Date: Tue, 07 Dec 2010 14:24:46 +0200 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.12) Gecko/20101029 Lightning/1.0b2 Thunderbird/3.1.6 MIME-Version: 1.0 To: Andriy Gapon References: <201012071204.oB7C46pd065026@svn.freebsd.org> In-Reply-To: <201012071204.oB7C46pd065026@svn.freebsd.org> X-Enigmail-Version: 1.1.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r216252 - head/sys/cddl/dev/cyclic/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Dec 2010 12:24:49 -0000 on 07/12/2010 14:04 Andriy Gapon said the following: > Author: avg > Date: Tue Dec 7 12:04:06 2010 > New Revision: 216252 > URL: http://svn.freebsd.org/changeset/base/216252 > > Log: > opensolaris cyclic xcall: no need for special handling of curcpu > > smp_rendezvous_cpus already properly handles current CPU case > and non-SMP case. This could also lead to problems because a thread could be not pinned to its current CPU during direct (*func)(param) call. > MFC after: 3 weeks > > Modified: > head/sys/cddl/dev/cyclic/i386/cyclic_machdep.c > > Modified: head/sys/cddl/dev/cyclic/i386/cyclic_machdep.c > ============================================================================== > --- head/sys/cddl/dev/cyclic/i386/cyclic_machdep.c Tue Dec 7 09:19:47 2010 (r216251) > +++ head/sys/cddl/dev/cyclic/i386/cyclic_machdep.c Tue Dec 7 12:04:06 2010 (r216252) > @@ -121,13 +121,7 @@ static void reprogram(cyb_arg_t arg, hrt > > static void xcall(cyb_arg_t arg, cpu_t *c, cyc_func_t func, void *param) > { > - /* > - * If the target CPU is the current one, just call the > - * function. This covers the non-SMP case. > - */ > - if (c == &solaris_cpu[curcpu]) > - (*func)(param); > - else > - smp_rendezvous_cpus((cpumask_t) (1 << c->cpuid), NULL, > - func, smp_no_rendevous_barrier, param); > + > + smp_rendezvous_cpus((cpumask_t) (1 << c->cpuid), NULL, > + func, smp_no_rendevous_barrier, param); > } -- Andriy Gapon