From owner-svn-soc-all@FreeBSD.ORG Wed Jul 13 08:02:01 2011 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from socsvn.FreeBSD.org (unknown [IPv6:2001:4f8:fff6::2f]) by hub.freebsd.org (Postfix) with SMTP id 1C1DB106566C for ; Wed, 13 Jul 2011 08:01:59 +0000 (UTC) (envelope-from rudot@FreeBSD.org) Received: by socsvn.FreeBSD.org (sSMTP sendmail emulation); Wed, 13 Jul 2011 08:01:59 +0000 Date: Wed, 13 Jul 2011 08:01:59 +0000 From: rudot@FreeBSD.org To: svn-soc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <20110713080159.1C1DB106566C@hub.freebsd.org> Cc: Subject: socsvn commit: r224175 - soc2011/rudot/kern X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2011 08:02:01 -0000 Author: rudot Date: Wed Jul 13 08:01:58 2011 New Revision: 224175 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=224175 Log: use asts instead of preempting Modified: soc2011/rudot/kern/sched_fbfs.c Modified: soc2011/rudot/kern/sched_fbfs.c ============================================================================== --- soc2011/rudot/kern/sched_fbfs.c Wed Jul 13 06:20:00 2011 (r224174) +++ soc2011/rudot/kern/sched_fbfs.c Wed Jul 13 08:01:58 2011 (r224175) @@ -621,7 +621,7 @@ pcpu = pcpu_find(c); if (pcpu->pc_curthread == pcpu->pc_idlethread) { if (PCPU_GET(cpuid) != c) - ipi_cpu(c, IPI_PREEMPT); + ipi_cpu(c, IPI_AST); return (1); } cpri = pcpu->pc_curthread->td_priority; @@ -709,7 +709,7 @@ */ if (preempt_lastcpu(td)) { if (map) - ipi_selected(map, IPI_PREEMPT); + ipi_selected(map, IPI_AST); return; } /* @@ -720,10 +720,10 @@ while ((cg != NULL) && ((map & cg->cg_mask) == 0)) cg = cg->cg_parent; if (map & cg->cg_mask) { - ipi_selected(map & cg->cg_mask, IPI_PREEMPT); + ipi_selected(map & cg->cg_mask, IPI_AST); return; } - ipi_selected(map, IPI_PREEMPT); + ipi_selected(map, IPI_AST); return; } /*