LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Kernel (https://www.linuxquestions.org/questions/linux-kernel-70/)
-   -   How to use sysctl setting as kernel boot parameter? (https://www.linuxquestions.org/questions/linux-kernel-70/how-to-use-sysctl-setting-as-kernel-boot-parameter-899767/)

pbdiwpwm 08-27-2011 03:45 AM

How to use sysctl setting as kernel boot parameter?
 
Hello,

at the time the kernel is probing the scsi devices the changer module is blocking the startup because the tape library need more than 120 sec to scan and map all tapes in the drive. So after 120 sec the hung_task_timeout_secs message is shown here:
[ 31.839657] Driver 'osst' needs updating - please use bus_type methods
[ 32.032601] scsi 1:0:1:0: Sequential-Access COMPAQ SuperDLT1 2D2D PQ: 0 ANSI: 2
[ 32.032642] target1:0:1: Beginning Domain Validation
[ 32.035151] target1:0:1: wide asynchronous
[ 32.036789] target1:0:1: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 62)
[ 32.037757] target1:0:1: Domain Validation skipping write tests
[ 32.037772] target1:0:1: Ending Domain Validation
[ 32.073896] ch0: type #1 (mt): 0x56+1 [medium transport]
[ 32.073912] ch0: type #2 (st): 0x1+17 [storage]
[ 32.073923] ch0: type #3 (ie): 0x48+1 [import/export]
[ 32.073933] ch0: type #4 (dt): 0x52+2 [data transfer]
[ 32.157666] ch0: dt 0x52: ID 1, LUN 0, name: QUANTUM DLT8000 0250
[ 32.241331] ch0: dt 0x53: ID 2, LUN 0, name: DEC TZ89 (C) DEC 2561
[ 32.241367] ch0: INITIALIZE ELEMENT STATUS, may take some time ...
[ 163.864572] INFO: task modprobe:590 blocked for more than 120 seconds.
[ 163.864600] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 163.864615] modprobe D 6726bec5 0 590 589
[ 163.864632] ed4ee180 00000286 00000002 6726bec5 00000007 ed4ee308 c1239b40 00000000
[ 163.864660] ecfba200 00000001 ed407840 00203639 00000000 00000005 00186470 ec895dcc
[ 163.864696] c040c190 000007c0 00000002 ed422e00 c01ac783 c12d9154 7fffffff 7fffffff
[ 163.864732] Call Trace:
[ 163.864746] [<c01ac783>] sysfs_ilookup_test+0x0/0xd
[ 163.864768] [<c023a241>] __driver_attach+0x0/0x55
[ 163.864787] [<c02cb105>] schedule_timeout+0x13/0x86
[ 163.864809] [<c01ac783>] sysfs_ilookup_test+0x0/0xd
[ 163.864826] [<c018115b>] ilookup5_nowait+0x27/0x2c
[ 163.864841] [<c01acc20>] sysfs_addrm_finish+0x13/0x1e6
[ 163.864859] [<c01ac994>] sysfs_find_dirent+0x13/0x23
[ 163.864879] [<c02cb86f>] __down+0x78/0x9d
[ 163.864893] [<c0131fc3>] down+0x1f/0x2a
[ 163.864908] [<c023a259>] __driver_attach+0x18/0x55
[ 163.864925] [<c0239b13>] bus_for_each_dev+0x37/0x59
[ 163.864939] [<c023a065>] driver_attach+0x11/0x13
[ 163.864956] [<c023a241>] __driver_attach+0x0/0x55
[ 163.864969] [<c0239e67>] bus_add_driver+0x8a/0x1a7
[ 163.864981] [<c01de68b>] kset_find_obj+0x20/0x66
[ 163.864999] [<c023a489>] driver_register+0x6d/0xc1
[ 163.865019] [<ee0550c6>] init_osst+0xc6/0x103 [osst]
[ 163.865039] [<c013ac28>] sys_init_module+0x187a/0x19ea
[ 163.865067] [<c0103f76>] syscall_call+0x7/0xb
[ 163.865086] =======================
[ 163.865099] INFO: task modprobe:593 blocked for more than 120 seconds.
[ 163.865113] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 163.865130] modprobe D 00000020 0 593 591
[ 163.865146] ec8b9720 00000282 ec8760c0 00000020 ec87cc00 ec8b98a8 c1239b40 00000000
[ 163.865183] eca35e40 00000035 fffefa7a 00000000 ec84b0f8 ffffffff ee0af0a8 ec8760c0
[ 163.865220] ec87cc00 ecf3431c 00000001 00000000 00000000 00000000 7fffffff 7fffffff
[ 163.865251] Call Trace:
...
I tried to use the /etc/sysctl.conf to change the settings, but the at probing time the configuration is not loaded. So I want to use the setting hopefully via an kernel parameter at bootup.
My question is now, how can I add the hung_task_timeout_secs parameter at boot time? Any suggestion?

Another solution could be to give an init=0 as module parameter for ch on bootup. But I'm untaught.

Another solution is to blacklist the ch module, so it is not loaded at boot time and load it later. But /etc/modprobe.d/blacklist entry for ch is ignored, too.

Cheers...
Pierre

eSelix 08-27-2011 07:45 AM

Try adding this to boot parameters:
Code:

kernel.hung_task_timeout_secs=0
But you known that this only get rid of message, not delay.

pbdiwpwm 08-27-2011 01:47 PM

[ 0.000000] Unknown boot option `kernel.hung_task_timeout_secs=300': ignoring

nini09 08-29-2011 02:55 PM

If your kernel is 2.6.18-194.32.1.el5“. This needs to be upgraded to “kernel-2.6.18-238” at least.


All times are GMT -5. The time now is 02:25 AM.