subr_smp.c (34990) | subr_smp.c (35058) |
---|---|
1/* 2 * Copyright (c) 1996, by Steve Passe 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 8 unchanged lines hidden (view full) --- 17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23 * SUCH DAMAGE. 24 * | 1/* 2 * Copyright (c) 1996, by Steve Passe 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 8 unchanged lines hidden (view full) --- 17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23 * SUCH DAMAGE. 24 * |
25 * $Id: mp_machdep.c,v 1.70 1998/03/07 20:16:49 tegge Exp $ | 25 * $Id: mp_machdep.c,v 1.71 1998/04/01 21:07:35 tegge Exp $ |
26 */ 27 28#include "opt_smp.h" 29#include "opt_vm86.h" 30#include "opt_cpu.h" 31 32#ifdef SMP 33#include <machine/smptests.h> --- 2411 unchanged lines hidden (view full) --- 2445 if (id == cpuid) 2446 continue; 2447 if (((1 << id) & checkstate_probed_cpus) == 0) 2448 continue; 2449 p = checkstate_curproc[id]; 2450 if (p) { 2451 pstats = p->p_stats; 2452 if (checkstate_cpustate[id] == CHECKSTATE_USER && | 26 */ 27 28#include "opt_smp.h" 29#include "opt_vm86.h" 30#include "opt_cpu.h" 31 32#ifdef SMP 33#include <machine/smptests.h> --- 2411 unchanged lines hidden (view full) --- 2445 if (id == cpuid) 2446 continue; 2447 if (((1 << id) & checkstate_probed_cpus) == 0) 2448 continue; 2449 p = checkstate_curproc[id]; 2450 if (p) { 2451 pstats = p->p_stats; 2452 if (checkstate_cpustate[id] == CHECKSTATE_USER && |
2453 timerisset(&pstats->p_timer[ITIMER_VIRTUAL].it_value) && | 2453 timevalisset(&pstats->p_timer[ITIMER_VIRTUAL].it_value) && |
2454 itimerdecr(&pstats->p_timer[ITIMER_VIRTUAL], tick) == 0) { 2455 psignal(p, SIGVTALRM); 2456 map |= (1 << id); 2457 } | 2454 itimerdecr(&pstats->p_timer[ITIMER_VIRTUAL], tick) == 0) { 2455 psignal(p, SIGVTALRM); 2456 map |= (1 << id); 2457 } |
2458 if (timerisset(&pstats->p_timer[ITIMER_PROF].it_value) && | 2458 if (timevalisset(&pstats->p_timer[ITIMER_PROF].it_value) && |
2459 itimerdecr(&pstats->p_timer[ITIMER_PROF], tick) == 0) { 2460 psignal(p, SIGPROF); 2461 map |= (1 << id); 2462 } 2463 } 2464 if (stathz == 0) { 2465 forwarded_statclock( id, pscnt, &map); 2466 } --- 85 unchanged lines hidden --- | 2459 itimerdecr(&pstats->p_timer[ITIMER_PROF], tick) == 0) { 2460 psignal(p, SIGPROF); 2461 map |= (1 << id); 2462 } 2463 } 2464 if (stathz == 0) { 2465 forwarded_statclock( id, pscnt, &map); 2466 } --- 85 unchanged lines hidden --- |