tst.fill1.d revision 303975
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 * Copyright (c) 2012 by Delphix. All rights reserved. 28 */ 29 30/* 31 * ASSERTION: 32 * Positive test for fill buffer policy. 33 * 34 * SECTION: Buffers and Buffering/fill Policy; 35 * Buffers and Buffering/Buffer Sizes; 36 * Options and Tunables/bufsize; 37 * Options and Tunables/bufpolicy; 38 * Options and Tunables/statusrate 39 */ 40/* 41 * This is a brute-force way of testing fill buffers. We assume that 42 * each printf() stores 16 bytes (4x 32-bit words for EPID, timestamp 43 * lo, timestamp hi, and the variable i). Because each fill buffer is 44 * per-CPU, we must fill up our buffer in one series of enablings on a 45 * single CPU. 46 */ 47#pragma D option bufpolicy=fill 48#pragma D option bufsize=128 49#pragma D option statusrate=10ms 50#pragma D option quiet 51 52int i; 53 54tick-10ms 55{ 56 printf("%d\n", i++); 57} 58 59tick-10ms 60{ 61 printf("%d\n", i++); 62} 63 64tick-10ms 65{ 66 printf("%d\n", i++); 67} 68 69tick-10ms 70{ 71 printf("%d\n", i++); 72} 73 74tick-10ms 75{ 76 printf("%d\n", i++); 77} 78 79tick-10ms 80{ 81 printf("%d\n", i++); 82} 83 84tick-10ms 85{ 86 printf("%d\n", i++); 87} 88 89tick-10ms 90{ 91 printf("%d\n", i++); 92} 93 94tick-10ms 95{ 96 printf("%d\n", i++); 97} 98 99tick-10ms 100{ 101 printf("%d\n", i++); 102} 103 104tick-10ms 105{ 106 printf("%d\n", i++); 107} 108 109tick-10ms 110{ 111 printf("%d\n", i++); 112} 113 114tick-10ms 115/i >= 100/ 116{ 117 exit(1); 118} 119