* driver or calculation of load average wrong ?
2010-10-08 12:25 ` Jack Stone
@ 2010-10-08 12:48 ` Frank Salomon
0 siblings, 0 replies; 4+ messages in thread
From: Frank Salomon @ 2010-10-08 12:48 UTC (permalink / raw)
To: linux-kernel@vger.kernel.org
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.
^ permalink raw reply [flat|nested] 4+ messages in thread
* driver or calculation of load average wrong ?
@ 2010-10-11 6:24 Frank Salomon
2010-10-11 7:40 ` Alexander Clouter
2010-10-11 19:39 ` Greg KH
0 siblings, 2 replies; 4+ messages in thread
From: Frank Salomon @ 2010-10-11 6:24 UTC (permalink / raw)
To: linux-kernel
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
Retail Store Solutions
Heinz-Nixdorf-Ring 1
33106 Paderborn
Tel. +49 (0) 30 5017 1335
Fax +49 (0) 30 5017 1305
mail frank.salomon@wincor-nixdorf.com
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.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: driver or calculation of load average wrong ?
2010-10-11 6:24 driver or calculation of load average wrong ? Frank Salomon
@ 2010-10-11 7:40 ` Alexander Clouter
2010-10-11 19:39 ` Greg KH
1 sibling, 0 replies; 4+ messages in thread
From: Alexander Clouter @ 2010-10-11 7:40 UTC (permalink / raw)
To: linux-kernel
Frank Salomon <frank.salomon@wincor-nixdorf.com> wrote:
>
> I have the following configuration:
> - CentOS 5
> - kernel 2.6.20.1
> - My own driver in a kernel_thread:
>
> [snipped NDA'd information]
>
> Any help or comments would be really great?
>
> Best regards, thanks, Frank
> --
> WINCOR NIXDORF International GmbH
> Retail Store Solutions
> Heinz-Nixdorf-Ring 1
> 33106 Paderborn
> Tel. +49 (0) 30 5017 1335
> Fax +49 (0) 30 5017 1305
> mail frank.salomon@wincor-nixdorf.com
>
> 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.
>
...alas I have to consult with my lawyer before being able to help.
Cheers
--
Alexander Clouter
.sigmonster says: BOFH excuse #153:
Big to little endian conversion error
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: driver or calculation of load average wrong ?
2010-10-11 6:24 driver or calculation of load average wrong ? Frank Salomon
2010-10-11 7:40 ` Alexander Clouter
@ 2010-10-11 19:39 ` Greg KH
1 sibling, 0 replies; 4+ messages in thread
From: Greg KH @ 2010-10-11 19:39 UTC (permalink / raw)
To: Frank Salomon; +Cc: linux-kernel
On Mon, Oct 11, 2010 at 08:24:49AM +0200, Frank Salomon wrote:
> 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) );
Change this to schedule_timeout_interruptable() and your load average
calculation will go back to what you expect it to.
hope this helps,
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-10-11 19:40 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-11 6:24 driver or calculation of load average wrong ? Frank Salomon
2010-10-11 7:40 ` Alexander Clouter
2010-10-11 19:39 ` Greg KH
-- strict thread matches above, loose matches on Subject: below --
2010-10-07 22:48 [PATCH] dma/timberdale: simplify conditional Nicolas Kaiser
2010-10-08 12:22 ` Jack Stone
2010-10-08 12:25 ` Jack Stone
2010-10-08 12:48 ` driver or calculation of load average wrong ? Frank Salomon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox