All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: Kalle Valo <kvalo@qca.qualcomm.com>
Cc: ath10k@lists.infradead.org
Subject: Re: [PATCH v5 6/7] ath10k: save firmware RAM and ROM BSS sections on crash
Date: Sat, 09 Aug 2014 09:54:23 -0700	[thread overview]
Message-ID: <53E6523F.1060001@candelatech.com> (raw)
In-Reply-To: <87d2caw632.fsf@kamboji.qca.qualcomm.com>



On 08/08/2014 11:05 PM, Kalle Valo wrote:
> Ben Greear <greearb@candelatech.com> writes:
>
>> On 08/08/2014 01:29 PM, Kalle Valo wrote:
>>>
>>> +/* estimated values, hopefully these are enough */
>>> +#define ATH10K_ROM_BSS_BUF_LEN 10000
>>> +#define ATH10K_RAM_BSS_BUF_LEN 30000
>>> +
>>>   /* used for crash-dump storage, protected by data-lock */
>>>   struct ath10k_fw_crash_data {
>>>   	bool crashed_since_read;
>>> @@ -301,6 +305,9 @@ struct ath10k_fw_crash_data {
>>>   	u32 reg_dump_values[REG_DUMP_COUNT_QCA988X];
>>>   	u8 stack_buf[ATH10K_FW_STACK_SIZE];
>>>   	u8 exc_stack_buf[ATH10K_FW_STACK_SIZE];
>>> +
>>> +	u8 rom_bss_buf[ATH10K_ROM_BSS_BUF_LEN];
>>> +	u8 ram_bss_buf[ATH10K_RAM_BSS_BUF_LEN];
>>>   };
>>
>> That (using estimates instead of allocating memory when we know the
>> true value and/or when we need it) is wasting quite a bit of RAM.
>> Doesn't matter on my systems, but AP manufacturers might be more
>> ticklish about RAM usage...
>
> Yeah, that is a problem bu this can be avoided by disabling
> CONFIG_ATH10K_DEBUGFS altogether. But on the other hand, there might be
> people who would still prefer to enable debugfs but not waste RAM on
> firmware crash dumps. For those we could add a module parameter or
> similar to disable firmware crash dumps, but is that overengineering
> already?
>
> Another option is that we do firmware crash memory allocation on the
> fly, when the crash happens. But as we are in atomic context it's pretty
> expensive. We cannot do huge kmalloc() call due to memory fragmentation
> and I doubt __vmalloc() is acceptable to call in atomic contexts (at
> least I didn't find use of that in the kernel).
>
> Third option is that we allocate crash dump buffers after the firmware
> has been loaded and FW IEs are read. That way we don't allocate any
> extra memory but the fundamental problem still persists.

I'd prefer this third option..seems more elegant all around.

I don't think you can do vmalloc in atomic context, btw.  But, can do it
on firmware load.

Thanks,
Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

  reply	other threads:[~2014-08-09 16:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-08 20:28 [PATCH v5 0/7] ath10k: firmware crash dump Kalle Valo
2014-08-08 20:28 ` [PATCH v5 1/7] ath10k: add ath10k_pci_diag_* helpers Kalle Valo
2014-08-08 20:28 ` [PATCH v5 2/7] ath10k: provide firmware crash info via debugfs Kalle Valo
2014-08-08 22:26   ` Ben Greear
2014-08-09  5:52     ` Kalle Valo
2014-08-08 20:28 ` [PATCH v5 3/7] ath10k: save firmware debug log messages Kalle Valo
2014-08-08 20:29 ` [PATCH v5 4/7] ath10k: save firmware stack upon firmware crash Kalle Valo
2014-08-08 20:29 ` [PATCH v5 5/7] ath10k: dump exception stack contents on " Kalle Valo
2014-08-08 20:29 ` [PATCH v5 6/7] ath10k: save firmware RAM and ROM BSS sections on crash Kalle Valo
2014-08-08 22:36   ` Ben Greear
2014-08-09  6:05     ` Kalle Valo
2014-08-09 16:54       ` Ben Greear [this message]
2014-08-09 17:31         ` Kalle Valo
2014-08-08 20:29 ` [PATCH v5 7/7] ath10k: rename ath10k_pci_hif_dump_area() to ath10k_pci_firmware_crashed() Kalle Valo
2014-08-08 21:32 ` [PATCH v5 0/7] ath10k: firmware crash dump Ben Greear
2014-08-09  5:50   ` Kalle Valo
2014-08-09 16:51     ` Ben Greear

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=53E6523F.1060001@candelatech.com \
    --to=greearb@candelatech.com \
    --cc=ath10k@lists.infradead.org \
    --cc=kvalo@qca.qualcomm.com \
    /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.