lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4CB2ADB1.6070401@wincor-nixdorf.com>
Date:	Mon, 11 Oct 2010 08:24:49 +0200
From:	Frank Salomon <frank.salomon@...cor-nixdorf.com>
To:	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
Retail Store Solutions
Heinz-Nixdorf-Ring 1
33106 Paderborn
Tel. +49 (0) 30 5017 1335
Fax +49 (0) 30 5017 1305
mail frank.salomon@...cor-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.
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ