1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22/*
23 * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
24 * Use is subject to license terms.
25 */
26
27#pragma ident	"@(#)tst.fill1.d	1.1	06/08/28 SMI"
28
29/*
30 * ASSERTION:
31 *   Positive test for fill buffer policy.
32 *
33 * SECTION: Buffers and Buffering/fill Policy;
34 * 	Buffers and Buffering/Buffer Sizes;
35 *	Options and Tunables/bufsize;
36 *	Options and Tunables/bufpolicy;
37 *	Options and Tunables/statusrate
38 */
39/*
40 * This is a brute-force way of testing fill buffers.  We assume that each
41 * printf() stores 8 bytes.  Because each fill buffer is per-CPU, we must
42 * fill up our buffer in one series of enablings on a single CPU.
43 */
44#pragma D option bufpolicy=fill
45#pragma D option bufsize=64
46#pragma D option statusrate=10ms
47#pragma D option quiet
48
49int i;
50
51tick-10ms
52{
53	printf("%d\n", i++);
54}
55
56tick-10ms
57{
58	printf("%d\n", i++);
59}
60
61tick-10ms
62{
63	printf("%d\n", i++);
64}
65
66tick-10ms
67{
68	printf("%d\n", i++);
69}
70
71tick-10ms
72{
73	printf("%d\n", i++);
74}
75
76tick-10ms
77{
78	printf("%d\n", i++);
79}
80
81tick-10ms
82{
83	printf("%d\n", i++);
84}
85
86tick-10ms
87{
88	printf("%d\n", i++);
89}
90
91tick-10ms
92{
93	printf("%d\n", i++);
94}
95
96tick-10ms
97{
98	printf("%d\n", i++);
99}
100
101tick-10ms
102{
103	printf("%d\n", i++);
104}
105
106tick-10ms
107{
108	printf("%d\n", i++);
109}
110
111tick-10ms
112/i >= 100/
113{
114	exit(1);
115}
116