Sponsored Content
Full Discussion: Have I found a bug?
Contact Us Post Here to Contact Site Administrators and Moderators Have I found a bug? Post 302195560 by Neo on Thursday 15th of May 2008 11:03:42 AM
Old 05-15-2008
Also, the internal crontabs to update counters may run differently, since we don't update all counter every second to save CPU cycles ....
 

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Y2.038K bug

Does any1 hav the idea abt wat cause this bug in unix on jan 19th 2038??? please enlighten me abt it.... (2 Replies)
Discussion started by: bourne
2 Replies

2. Shell Programming and Scripting

how can i check in csh if command found or not found ?

hello all im trying to use in sun Solaris the information received from the top command now i several machines that dont have install the top program so when im running the script im geting error saying after im running this code : set MemoryInfo = `top | grep Memory` if (... (2 Replies)
Discussion started by: umen
2 Replies

3. Shell Programming and Scripting

Is it a bug ..?

Hi All, I am using Red Hat Linux on my servers. The problem that I am facing is, sometimes the /opt usage on the server shows used percentage as 100% , when actually it is simply 20%. When I reboot the system, it comes back to 20%.Is this a bug in the system or my settings have gone wrong... (1 Reply)
Discussion started by: nua7
1 Replies

4. AIX

bug in 43 ???

xxxxserver# lsattr -El inet0 | grep 255.240.0.0,32.224.0.0,32.78.120.254 | grep '.40' route net,-hopcount,1,-netmask,255.240.0.0,32.224.0.0,32.78.120.254 How this is possible? (1 Reply)
Discussion started by: itik
1 Replies

5. UNIX for Dummies Questions & Answers

where's the bug?

#!/bin/bash if then #echo "infinite loop" exit 0 fi when I run this file I get the following error: ./test_infinite_loop: line 5: syntax error near unexpected token `fi' ./test_infinite_loop: line 5: `fi' :confused: (4 Replies)
Discussion started by: jon80
4 Replies

6. Shell Programming and Scripting

mv command not found bug

foreach x ( *.foo) echo "move file?" set move=$< if($move == y) then echo "enter new pathname:" set path=$< mv $x $path/$x endif end ok guys, im creating this script so i can move files with *.foo extensions and *.bar... (6 Replies)
Discussion started by: pantelis
6 Replies

7. Programming

is this a bug of g++?

Hello, Im using the g++(g++ Ubuntu/Linaro 4.4.4-14ubuntu5 4.4.5) and im trying to compile a small snippet code and got into an endless loop.I recompiled that in VS2010 under Windows 7 and the answer is as expected.so i wonder is this a bug of g++?here is my code. #include<iostream> using... (5 Replies)
Discussion started by: homeboy
5 Replies

8. UNIX for Advanced & Expert Users

Has AudioScope found a bug in bash 4.4.5?

Using AudioScope.sh on Ubuntu 17.04 from a live DVD disc I came across an error. Consider the code below it is a MUCH shortened version of the KEYBOARD input in AudioScope. #!/bin/bash bash --version uname -a status=0 KEYBOARD() { read -r -p "Enter QUIT or EXIT to quit:- " kbinput if ||... (11 Replies)
Discussion started by: wisecracker
11 Replies
COUNTER(9)						   BSD Kernel Developer's Manual						COUNTER(9)

NAME
counter -- SMP-friendly kernel counter implementation SYNOPSIS
#include <sys/types.h> #include <sys/systm.h> #include <sys/counter.h> counter_u64_t counter_u64_alloc(int wait); void counter_u64_free(counter_u64_t c); void counter_u64_add(counter_u64_t c, int64_t v); void counter_enter(); void counter_exit(); void counter_u64_add_protected(counter_u64_t c, int64_t v); uint64_t counter_u64_fetch(counter_u64_t c); void counter_u64_zero(counter_u64_t c); #include <sys/sysctl.h> SYSCTL_COUNTER_U64(parent, nbr, name, access, ptr, descr); SYSCTL_ADD_COUNTER_U64(ctx, parent, nbr, name, access, ptr, descr); DESCRIPTION
counter is a generic facility to create counters that can be utilized for any purpose (such as collecting statistical data). A counter is guaranteed to be lossless when several kernel threads do simultaneous updates. However, counter does not block the calling thread, also no atomic(9) operations are used for the update, therefore the counters can be used in any non-interrupt context. Moreover, counter has special optimisations for SMP environments, making counter update faster than simple arithmetic on the global variable. Thus counter is considered suitable for accounting in the performance-critical code pathes. counter_u64_alloc(wait) Allocate a new 64-bit unsigned counter. The wait argument is the malloc(9) wait flag, should be either M_NOWAIT or M_WAITOK. If M_NOWAIT is specified the operation may fail. counter_u64_free(c) Free the previously allocated counter c. counter_u64_add(c, v) Add v to c. The KPI does not guarantee any protection from wraparound. counter_enter() Enter mode that would allow to safely update several counters via counter_u64_add_protected(). On some machines this expands to critical(9) section, while on other is a nop. See IMPLEMENTATION DETAILS. counter_exit() Exit mode for updating several counters. counter_u64_add_protected(c, v) Same as counter_u64_add(), but should be preceded by counter_enter(). counter_u64_fetch(c) Take a snapshot of counter c. The data obtained is not guaranteed to reflect the real cumulative value for any moment. counter_u64_zero(c) Clear the counter c and set it to zero. SYSCTL_COUNTER_U64(parent, nbr, name, access, ptr, descr) Declare a static sysctl oid that would represent a counter. The ptr argument should be a pointer to allocated counter_u64_t. A read of the oid returns value obtained through counter_u64_fetch(). Any write to the oid zeroes it. SYSCTL_ADD_COUNTER_U64(ctx, parent, nbr, name, access, ptr, descr) Create a sysctl oid that would represent a counter. The ptr argument should be a pointer to allocated counter_u64_t. A read of the oid returns value obtained through counter_u64_fetch(). Any write to the oid zeroes it. IMPLEMENTATION DETAILS
On all architectures counter is implemented using per-CPU data fields that are specially aligned in memory, to avoid inter-CPU bus traffic due to shared use of the variables between CPUs. These are allocated using UMA_ZONE_PCPU uma(9) zone. The update operation only touches the field that is private to current CPU. Fetch operation loops through all per-CPU fields and obtains a snapshot sum of all fields. On amd64 a counter update is implemented as a single instruction without lock semantics, operating on the private data for the current CPU, which is safe against preemption and interrupts. On i386 architecture, when machine supports the cmpxchg8 instruction, this instruction is used. The multi-instruction sequence provides the same guarantees as the amd64 single-instruction implementation. On some architectures updating a counter require a critical(9) section. SEE ALSO
atomic(9), critical(9), locking(9), malloc(9), sysctl(9), uma(9) HISTORY
The counter facility first appeared in FreeBSD 10.0. AUTHORS
The counter facility was written by Gleb Smirnoff and Konstantin Belousov. BSD
February 7, 2014 BSD
All times are GMT -4. The time now is 10:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy