qtime.d revision 14ea49401f3c8c61422aefbda43809e275f60c6c
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync/*
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * CDDL HEADER START
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync *
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * The contents of this file are subject to the terms of the
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * Common Development and Distribution License (the "License").
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * You may not use this file except in compliance with the License.
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync *
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * or http://www.opensolaris.org/os/licensing.
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * See the License for the specific language governing permissions
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * and limitations under the License.
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync *
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * When distributing Covered Code, include this CDDL HEADER in each
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * If applicable, add the following below this CDDL HEADER, with the
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * fields enclosed by brackets "[]" replaced with your own identifying
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * information: Portions Copyright [yyyy] [name of copyright owner]
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync *
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * CDDL HEADER END
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync */
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync/*
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
cb702d6d593134e47854c00a7fa1156fe48a14ccvboxsync * Use is subject to license terms.
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync */
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsyncsched:::enqueue
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync{
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync ts[args[0]->pr_lwpid, args[1]->pr_pid, args[2]->cpu_id] =
cb702d6d593134e47854c00a7fa1156fe48a14ccvboxsync timestamp;
cb702d6d593134e47854c00a7fa1156fe48a14ccvboxsync}
2b114c590cf5a19f8047cd7bde9c7e5ae00aa22bvboxsync
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsyncsched:::dequeue
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync/ts[args[0]->pr_lwpid, args[1]->pr_pid, args[2]->cpu_id]/
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync{
2b114c590cf5a19f8047cd7bde9c7e5ae00aa22bvboxsync @[args[2]->cpu_id] = quantize(timestamp -
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync ts[args[0]->pr_lwpid, args[1]->pr_pid, args[2]->cpu_id]);
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync ts[args[0]->pr_lwpid, args[1]->pr_pid, args[2]->cpu_id] = 0;
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync}
a9a79301a7d78abffc51521473bbb5a1e08028c5vboxsync