Deleted Added
full compact
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 ---