From owner-svn-src-projects@FreeBSD.ORG Sat Mar 2 16:07:56 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 38500204; Sat, 2 Mar 2013 16:07:56 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 097C9372; Sat, 2 Mar 2013 16:07:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r22G7tnN048126; Sat, 2 Mar 2013 16:07:55 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r22G7tHt048125; Sat, 2 Mar 2013 16:07:55 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201303021607.r22G7tHt048125@svn.freebsd.org> From: Alexander Motin Date: Sat, 2 Mar 2013 16:07:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r247633 - projects/calloutng/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Mar 2013 16:07:56 -0000 Author: mav Date: Sat Mar 2 16:07:55 2013 New Revision: 247633 URL: http://svnweb.freebsd.org/changeset/base/247633 Log: Remove some code duplication due to ET_HW_UNLOCK() inlining. Modified: projects/calloutng/sys/kern/kern_clocksource.c Modified: projects/calloutng/sys/kern/kern_clocksource.c ============================================================================== --- projects/calloutng/sys/kern/kern_clocksource.c Sat Mar 2 15:54:02 2013 (r247632) +++ projects/calloutng/sys/kern/kern_clocksource.c Sat Mar 2 16:07:55 2013 (r247633) @@ -822,18 +822,15 @@ clocksource_cyc_set(const struct bintime (int)(t >> 32), (u_int)(t & 0xffffffff)); ET_HW_LOCK(state); - if (t == state->nextcyc) { - ET_HW_UNLOCK(state); - return; - } + if (t == state->nextcyc) + goto done; state->nextcyc = t; - if (t >= state->nextevent) { - ET_HW_UNLOCK(state); - return; - } + if (t >= state->nextevent) + goto done; state->nextevent = t; if (!periodic) loadtimer(now, 0); +done: ET_HW_UNLOCK(state); } #endif @@ -841,7 +838,6 @@ clocksource_cyc_set(const struct bintime void cpu_new_callout(int cpu, sbintime_t bt, sbintime_t bt_opt) { - sbintime_t now; struct pcpu_state *state; /* Do not touch anything if somebody reconfiguring timers. */ @@ -861,26 +857,20 @@ cpu_new_callout(int cpu, sbintime_t bt, * and scheduling. */ state->nextcallopt = bt_opt; - if (bt >= state->nextcall) { - ET_HW_UNLOCK(state); - return; - } + if (bt >= state->nextcall) + goto done; state->nextcall = bt; /* If there is some other event set earlier -- do nothing. */ - if (bt >= state->nextevent) { - ET_HW_UNLOCK(state); - return; - } + if (bt >= state->nextevent) + goto done; state->nextevent = bt; /* If timer is periodic -- there is nothing to reprogram. */ - if (periodic) { - ET_HW_UNLOCK(state); - return; - } + if (periodic) + goto done; /* If timer is global or of the current CPU -- reprogram it. */ if ((timer->et_flags & ET_FLAGS_PERCPU) == 0 || cpu == curcpu) { - now = sbinuptime(); - loadtimer(now, 0); + loadtimer(sbinuptime(), 0); +done: ET_HW_UNLOCK(state); return; }