2013-03-25 18:50:12

by Mike Travis

[permalink] [raw]
Subject: [PATCH 03/15] KDB: up the default LINES value

Currently the default for the # of lines displayed by the KDB pager
is 24. This does not allow all of the lines for the entry messages,
reg dump and process trace. Increase it to something more reasonable.

Cc: Tim Bird <[email protected]>
Reviewed-by: Dimitri Sivanich <[email protected]>
Signed-off-by: Mike Travis <[email protected]>
---
kernel/debug/kdb/kdb_io.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux.orig/kernel/debug/kdb/kdb_io.c
+++ linux/kernel/debug/kdb/kdb_io.c
@@ -586,7 +586,7 @@ int vkdb_printf(const char *fmt, va_list

diag = kdbgetintenv("LINES", &linecount);
if (diag || linecount <= 1)
- linecount = 24;
+ linecount = 60;

diag = kdbgetintenv("COLUMNS", &colcount);
if (diag || colcount <= 1)

--


2013-03-25 21:23:07

by Jason Wessel

[permalink] [raw]
Subject: Re: [PATCH 03/15] KDB: up the default LINES value

On 03/25/2013 01:50 PM, Mike Travis wrote:
> Currently the default for the # of lines displayed by the KDB pager
> is 24. This does not allow all of the lines for the entry messages,
> reg dump and process trace. Increase it to something more reasonable.
>


Unfortunately this is something that breaks compatibility with the
standard VGA console, so this patch will not be merged.

Is it the case that your hardware specifies how many lines and columns
there are in the display? We have some hooks into the console VT code
to properly detect this but perhaps something is wrong there, or it is
only called in the KMS (kernel mode setting case). Example:
drivers/tty/vt/vt.c - look at con_debug_enter()

Another option might be to add a variable which allows you to change
the default at compile time, but I would prefer to get the auto detect
code working properly if it is an option.

Jason.



> Cc: Tim Bird <[email protected]>
> Reviewed-by: Dimitri Sivanich <[email protected]>
> Signed-off-by: Mike Travis <[email protected]>
> ---
> kernel/debug/kdb/kdb_io.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- linux.orig/kernel/debug/kdb/kdb_io.c
> +++ linux/kernel/debug/kdb/kdb_io.c
> @@ -586,7 +586,7 @@ int vkdb_printf(const char *fmt, va_list
>
> diag = kdbgetintenv("LINES", &linecount);
> if (diag || linecount <= 1)
> - linecount = 24;
> + linecount = 60;
>
> diag = kdbgetintenv("COLUMNS", &colcount);
> if (diag || colcount <= 1)
>
> --
>

2013-03-25 21:31:56

by Mike Travis

[permalink] [raw]
Subject: Re: [PATCH 03/15] KDB: up the default LINES value



On 3/25/2013 2:22 PM, Jason Wessel wrote:
> On 03/25/2013 01:50 PM, Mike Travis wrote:
>> Currently the default for the # of lines displayed by the KDB pager
>> is 24. This does not allow all of the lines for the entry messages,
>> reg dump and process trace. Increase it to something more reasonable.
>>
>
>
> Unfortunately this is something that breaks compatibility with the
> standard VGA console, so this patch will not be merged.
>
> Is it the case that your hardware specifies how many lines and columns
> there are in the display? We have some hooks into the console VT code
> to properly detect this but perhaps something is wrong there, or it is
> only called in the KMS (kernel mode setting case). Example:
> drivers/tty/vt/vt.c - look at con_debug_enter()
>
> Another option might be to add a variable which allows you to change
> the default at compile time, but I would prefer to get the auto detect
> code working properly if it is an option.
>
> Jason.

Nah, this was more of an annoyance before I added the "system nmi" entry
reason code, which changes the entry message to be more like it is for a
requested entry (like sysreq 'g') than it is for a real error which
dumps a ton of stuff. Our primary system console is a serial connection,
so we can't use the VT stuff (though the VT console is an option).
>
>
>
>> Cc: Tim Bird <[email protected]>
>> Reviewed-by: Dimitri Sivanich <[email protected]>
>> Signed-off-by: Mike Travis <[email protected]>
>> ---
>> kernel/debug/kdb/kdb_io.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> --- linux.orig/kernel/debug/kdb/kdb_io.c
>> +++ linux/kernel/debug/kdb/kdb_io.c
>> @@ -586,7 +586,7 @@ int vkdb_printf(const char *fmt, va_list
>>
>> diag = kdbgetintenv("LINES", &linecount);
>> if (diag || linecount <= 1)
>> - linecount = 24;
>> + linecount = 60;
>>
>> diag = kdbgetintenv("COLUMNS", &colcount);
>> if (diag || colcount <= 1)
>>
>> --
>>
>