Dear All,
How to get maximum output from dmesg command?
I am unable to see all my debug messages after loading my driver.
I think there is a restriction in displaying the dmesg output.
I saw in printk.c file under source directory. There I found LOG_BUF_LEN
is 16384.
But I am unable to see not more that 300 to 400 lines of code from
dmesg.
If I modify in the printk.c file then I get more lines of code from
dmesg command!!!
As var/log/messages is the source of dmesg command, I made a copy of
var/log/messages assuming that I will be getting the complete driver
trace in it. But a part of the messages that are at the initialization
of our driver are not seen.
How can I get maximum lines of output from the dmesg command?
I am using Red Hat 7.3 with 2.4.18-3 kernel version.
Can anybody help in this regard?
Thanks in advance.
Regards,
Srinivas G
Hi Srinivas :)
* Srinivas G. <[email protected]> dixit:
> How to get maximum output from dmesg command?
> I am unable to see all my debug messages after loading my driver.
> I think there is a restriction in displaying the dmesg output.
> I saw in printk.c file under source directory. There I found LOG_BUF_LEN
> is 16384.
You can change this value using the configuration, namely
CONFIG_LOG_BUF_SHIFT. The value you store here is used to determine
LOG_BUF_LEN=2^CONFIG_LOG_BUF_SHIFT. You seem to have '14' as the
value of CONFIG_LOG_BUF_SHIFT. Increase it to 16 and you will have 4
times the current length for the dmesg buffer.
I'm assuming you're using a more or less recent 2.4.x kernel. I
suppose that the same is applicable to 2.6.x kernels.
Ra?l N??ez de Arenas Coronado
--
Linux Registered User 88736
http://www.dervishd.net & http://www.pleyades.net/
It's my PC and I'll cry if I want to...
Srinivas G. <[email protected]> wrote:
> How to get maximum output from dmesg command?
> I am unable to see all my debug messages after loading my driver.
> I think there is a restriction in displaying the dmesg output.
There is indeed.
> I saw in printk.c file under source directory. There I found LOG_BUF_LEN
> is 16384.
Sorry if this is obvious, but have you considered using the -s option of
dmesg?
Hope I understood it correctly, Rog?rio.
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Rog?rio Brito - [email protected] - http://www.ime.usp.br/~rbrito
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Hi Rog?rio :)
* Rog?rio Brito <[email protected]> dixit:
> Srinivas G. <[email protected]> wrote:
> > I saw in printk.c file under source directory. There I found LOG_BUF_LEN
> > is 16384.
> Sorry if this is obvious, but have you considered using the -s option of
> dmesg?
Of course, there is no point in making your LOG_BUF larger in the
kernel if dmesg is going to present just 2^14 bytes at most. You have
to use -s, Srinivas.
Ra?l N??ez de Arenas Coronado
--
Linux Registered User 88736
http://www.dervishd.net & http://www.pleyades.net/
It's my PC and I'll cry if I want to...