I eager to know which situation makes increased cpu-usage in checking top information to process written by me. 

below is my environment.

```
# cat /proc/cpuinfo 
system type             : CN3010_EVB_HS5 (CN5010p1.1-500-SCP)
processor               : 0
cpu model               : Cavium Octeon+ V0.1
BogoMIPS                : 1000.00
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 64
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 2, address/irw mask: [0x0ffc, 0x0ffb]
ASEs implemented        :
shadow register sets    : 1
kscratch registers      : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

# cat /proc/softirqs 
                CPU0       
      HI:          0
   TIMER:      37673
  NET_TX:          1
  NET_RX:      63481
   BLOCK:          0
BLOCK_IOPOLL:          0
 TASKLET:     241456
   SCHED:          0
 HRTIMER:          0
     RCU:      45060
# 

# cat /proc/stat 
cpu  6890 0 7591 11217 324 691 17637 0 0
cpu0 6890 0 7591 11217 324 691 17637 0 0
intr 3872174 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3557213 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30852 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2530 0 6328 275165 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 7152106
btime 1387517330
processes 1956
procs_running 2
procs_blocked 0
softirq 454085 0 44350 1 74147 0 0 282595 0 0 52992

**Cpu(s): 20.6%us, 23.0%sy,  0.0%ni, 15.0%id,  0.0%wa,  2.2%hi, 39.3%si,  0.0%st**
Mem: 45220K used, 50560K free, 0K shrd, 0K buff, 17568K cached
Load average: 0.52 0.72 0.52
  PID USER     STATUS   RSS  PPID %CPU %MEM COMMAND
  800 root     S       5076     1 75.3  5.2 core
 2104 root     S       2448   848  0.0  2.5 sshd
 ....

```

--> core is my process(with multithread) that has about 22 threads for doing jobs.
shortly, one thread to collect wireless packet, one thread changes wifi-frequency using netlink library. I'm not sure but I think that makes increased cpu-usage. 

I don't know to control this situations, how to approach, 
Which part do I check?

below is my thread style. 

```
while(1) {
 do jobs;
 sleep(x);
} 

```

--> switched to 

```
while (1) { 
 sleep(x);
 do jobs;
}

```

Can't resolve it. How to handle this issue? which part do I check ? 

Please help me. I don't want to upgrade CPU.