[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4CAF1310.2050400@wincor-nixdorf.com>
Date: Fri, 08 Oct 2010 14:48:16 +0200
From: Frank Salomon <frank.salomon@...cor-nixdorf.com>
To: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: driver or calculation of load average wrong ?
Hello All,
I have the following configuration:
- CentOS 5
- kernel 2.6.20.1
- My own driver in a kernel_thread:
while ( 1 ){
printk ( KERN_INFO "go sleep, %lu\n", jiffies );
current -> state = TASK_UNINTERRUPTIBLE;
schedule_timeout ( msecs_to_jiffies(4000) );
printk ( KERN_INFO "wakeup, %lu\n", jiffies );
}
Each time I load the driver, the load average in /proc/loadavg reached:
$ cat /proc/loadavg
0.99 0.62 0.26 1/47 2868
Without my driver:
$ cat /proc/loadavg
0.03 0.03 0.00 1/47 2867
I changed nr_active(void) in kernel/sched.c:
unsigned long nr_active(void)
{
unsigned long i, running = 0, uninterruptible = 0;
for_each_online_cpu(i) {
running += cpu_rq(i)->nr_running;
uninterruptible += cpu_rq(i)->nr_uninterruptible;
}
if (unlikely((long)uninterruptible < 0))
uninterruptible = 0;
// original: return running + uninterruptible;
return running;
}
Driver loaded or not:
$ cat /proc/loadavg
0.03 0.03 0.00 1/47 2867
Any help or comments would be really great?
Best regards, thanks, Frank
WINCOR NIXDORF International GmbH
Sitz der Gesellschaft: Paderborn
Registergericht Paderborn HRB 3507
Geschäftsführer: Eckard Heidloff (Vorsitzender), Stefan Auerbach, Dr. Jürgen Wunram
Vorsitzender des Aufsichtsrats: Karl-Heinz Stiller
Steuernummer: 339/5884/0020 - Ust-ID Nr.: DE812927716 - WEEE-Reg.-Nr. DE44477193
Diese E-Mail enthält vertrauliche Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben,
informieren Sie bitte sofort den Absender und vernichten Sie diese E-Mail.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail ist nicht gestattet.
This e-mail may contain confidential information.
If you are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail.
Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists