From: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/2] printk: Add function to return log buffer address and size
Date: Fri, 01 Aug 2014 13:45:22 +0530 [thread overview]
Message-ID: <53DB4C9A.8050400@linux.vnet.ibm.com> (raw)
In-Reply-To: <20140731152255.37e675870dfdf77d9dbaff70@linux-foundation.org>
On 08/01/2014 03:52 AM, Andrew Morton wrote:
> On Thu, 31 Jul 2014 21:05:48 +0530 Vasant Hegde <hegdevasant@linux.vnet.ibm.com> wrote:
>
>> Platforms like IBM Power Systems supports service processor
>> assisted dump. It provides interface to add memory region to
>> be captured when system is crashed.
>>
>> During initialization/running we can add kernel memory region
>> to be collected.
>>
>> Presently we don't have a way to get the log buffer base address
>> and size. This patch adds support to return log buffer address
>> and size.
>>
>> ...
>>
>> --- a/include/linux/printk.h
>> +++ b/include/linux/printk.h
>> @@ -10,6 +10,9 @@
>> extern const char linux_banner[];
>> extern const char linux_proc_banner[];
>>
>> +extern void *get_log_buf_addr(void);
>> +extern u32 get_log_buf_len(void);
>> +
>> static inline int printk_get_level(const char *buffer)
>> {
>> if (buffer[0] == KERN_SOH_ASCII && buffer[1]) {
>> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
>> index 13e839d..4049f7b 100644
>> --- a/kernel/printk/printk.c
>> +++ b/kernel/printk/printk.c
>> @@ -270,6 +270,18 @@ static char __log_buf[__LOG_BUF_LEN] __aligned(LOG_ALIGN);
>> static char *log_buf = __log_buf;
>> static u32 log_buf_len = __LOG_BUF_LEN;
>>
>> +/* Return log buffer address */
>> +void *get_log_buf_addr(void)
>> +{
>> + return log_buf;
>> +}
>> +
>> +/* Return log buffer size */
>> +u32 get_log_buf_len(void)
>> +{
>> + return log_buf_len;
>> +}
>> +
>> /* human readable text of the record */
>> static char *log_text(const struct printk_log *msg)
>> {
>
Andrew,
Thanks for the review.. Shall I add your Ack?
> Looks OK to me, although I think log_buf_addr_get() and
> log_buf_len_get() would be better names. The kernel uses some
> big-endian names and some little-endian-names and some middle-endian
> names. It's all rather a mess. These symbols are already big-endian
> (ie: decreasing significance):
>
> log_buf -> addr -> get
> log_buf -> len -> get
Sure . Will rename function as above.
>
>
> The world wouldn't end if we simply made log_buf and log_buf_len global
> symbols. The pros and cons are all minor.
>
> It's probably better to make get_log_buf_addr() tell the truth and
> return a char *.
>
>
> Please include this in whatever tree carries "powerpc/powernv:
> Interface to register/unregister opal dump region".
Sure.. Will work with BenH.
-Vasant
WARNING: multiple messages have this Message-ID (diff)
From: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
Linus Torvalds <torvalds@linux-foundation.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: Re: [PATCH v2 1/2] printk: Add function to return log buffer address and size
Date: Fri, 01 Aug 2014 13:45:22 +0530 [thread overview]
Message-ID: <53DB4C9A.8050400@linux.vnet.ibm.com> (raw)
In-Reply-To: <20140731152255.37e675870dfdf77d9dbaff70@linux-foundation.org>
On 08/01/2014 03:52 AM, Andrew Morton wrote:
> On Thu, 31 Jul 2014 21:05:48 +0530 Vasant Hegde <hegdevasant@linux.vnet.ibm.com> wrote:
>
>> Platforms like IBM Power Systems supports service processor
>> assisted dump. It provides interface to add memory region to
>> be captured when system is crashed.
>>
>> During initialization/running we can add kernel memory region
>> to be collected.
>>
>> Presently we don't have a way to get the log buffer base address
>> and size. This patch adds support to return log buffer address
>> and size.
>>
>> ...
>>
>> --- a/include/linux/printk.h
>> +++ b/include/linux/printk.h
>> @@ -10,6 +10,9 @@
>> extern const char linux_banner[];
>> extern const char linux_proc_banner[];
>>
>> +extern void *get_log_buf_addr(void);
>> +extern u32 get_log_buf_len(void);
>> +
>> static inline int printk_get_level(const char *buffer)
>> {
>> if (buffer[0] == KERN_SOH_ASCII && buffer[1]) {
>> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
>> index 13e839d..4049f7b 100644
>> --- a/kernel/printk/printk.c
>> +++ b/kernel/printk/printk.c
>> @@ -270,6 +270,18 @@ static char __log_buf[__LOG_BUF_LEN] __aligned(LOG_ALIGN);
>> static char *log_buf = __log_buf;
>> static u32 log_buf_len = __LOG_BUF_LEN;
>>
>> +/* Return log buffer address */
>> +void *get_log_buf_addr(void)
>> +{
>> + return log_buf;
>> +}
>> +
>> +/* Return log buffer size */
>> +u32 get_log_buf_len(void)
>> +{
>> + return log_buf_len;
>> +}
>> +
>> /* human readable text of the record */
>> static char *log_text(const struct printk_log *msg)
>> {
>
Andrew,
Thanks for the review.. Shall I add your Ack?
> Looks OK to me, although I think log_buf_addr_get() and
> log_buf_len_get() would be better names. The kernel uses some
> big-endian names and some little-endian-names and some middle-endian
> names. It's all rather a mess. These symbols are already big-endian
> (ie: decreasing significance):
>
> log_buf -> addr -> get
> log_buf -> len -> get
Sure . Will rename function as above.
>
>
> The world wouldn't end if we simply made log_buf and log_buf_len global
> symbols. The pros and cons are all minor.
>
> It's probably better to make get_log_buf_addr() tell the truth and
> return a char *.
>
>
> Please include this in whatever tree carries "powerpc/powernv:
> Interface to register/unregister opal dump region".
Sure.. Will work with BenH.
-Vasant
next prev parent reply other threads:[~2014-08-01 8:15 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-31 15:35 [PATCH v2 1/2] printk: Add function to return log buffer address and size Vasant Hegde
2014-07-31 15:35 ` Vasant Hegde
2014-07-31 15:36 ` [PATCH v2 2/2] powerpc/powernv: Interface to register/unregister opal dump region Vasant Hegde
2014-07-31 15:36 ` Vasant Hegde
2014-07-31 22:22 ` [PATCH v2 1/2] printk: Add function to return log buffer address and size Andrew Morton
2014-07-31 22:22 ` Andrew Morton
2014-08-01 0:40 ` Joe Perches
2014-08-01 0:40 ` Joe Perches
2014-08-01 8:15 ` Vasant Hegde [this message]
2014-08-01 8:15 ` Vasant Hegde
-- strict thread matches above, loose matches on Subject: below --
2014-07-31 10:30 Vasant Hegde
2014-07-31 10:30 ` Vasant Hegde
2014-08-01 20:54 ` Andrew Morton
2014-08-01 20:54 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53DB4C9A.8050400@linux.vnet.ibm.com \
--to=hegdevasant@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.