Message ID | 1462986153-16318-11-git-send-email-greearb@candelatech.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Kalle Valo |
Headers | show |
greearb@candelatech.com writes: > From: Ben Greear <greearb@candelatech.com> > > Helps keep messages off of (serial) console when > that is desired. > > Signed-off-by: Ben Greear <greearb@candelatech.com> Isn't /proc/sys/kernel/print exactly for this purpose? At least I recall using it.
On 09/14/2016 07:19 AM, Valo, Kalle wrote: > greearb@candelatech.com writes: > >> From: Ben Greear <greearb@candelatech.com> >> >> Helps keep messages off of (serial) console when >> that is desired. >> >> Signed-off-by: Ben Greear <greearb@candelatech.com> > > Isn't /proc/sys/kernel/print exactly for this purpose? At least I recall > using it. I just wanted to hide some ath10k logs from the console, not all system logs. I don't think that /proc/sys/kernel/print has any granularity? Thanks, Ben
Ben Greear <greearb@candelatech.com> writes: > On 09/14/2016 07:19 AM, Valo, Kalle wrote: >> greearb@candelatech.com writes: >> >>> From: Ben Greear <greearb@candelatech.com> >>> >>> Helps keep messages off of (serial) console when >>> that is desired. >>> >>> Signed-off-by: Ben Greear <greearb@candelatech.com> >> >> Isn't /proc/sys/kernel/print exactly for this purpose? At least I recall >> using it. > > I just wanted to hide some ath10k logs from the console, not all > system logs. I don't think that /proc/sys/kernel/print has any > granularity? It should be based on KERN_ log levels. I don't know what your kernel does, but ath10k should be printing only very few messages with level KERN_INFO or above, all of of the debug messages. So you should be easily able to filter out all ath10k debug messages as they are sent with KERN_DEBUG.
On 09/15/2016 07:12 AM, Valo, Kalle wrote: > Ben Greear <greearb@candelatech.com> writes: > >> On 09/14/2016 07:19 AM, Valo, Kalle wrote: >>> greearb@candelatech.com writes: >>> >>>> From: Ben Greear <greearb@candelatech.com> >>>> >>>> Helps keep messages off of (serial) console when >>>> that is desired. >>>> >>>> Signed-off-by: Ben Greear <greearb@candelatech.com> >>> >>> Isn't /proc/sys/kernel/print exactly for this purpose? At least I recall >>> using it. >> >> I just wanted to hide some ath10k logs from the console, not all >> system logs. I don't think that /proc/sys/kernel/print has any >> granularity? > > It should be based on KERN_ log levels. I don't know what your kernel > does, but ath10k should be printing only very few messages with level > KERN_INFO or above, all of of the debug messages. So you should be > easily able to filter out all ath10k debug messages as they are sent > with KERN_DEBUG. I originally added this when I was testing .11r associating timing. Just having a few lines of ath10k printk on the serial console added several 10s of milliseconds to the time it took to associate, and that was throwing off my results. I still wanted to see the messges in 'dmesg', just not on the console. I did not want to hide other WARN level logs from the console, just the ath10k ones. Thanks, Ben
diff --git a/drivers/net/wireless/ath/ath10k/debug.c b/drivers/net/wireless/ath/ath10k/debug.c index 97de9f37..76b5163 100644 --- a/drivers/net/wireless/ath/ath10k/debug.c +++ b/drivers/net/wireless/ath/ath10k/debug.c @@ -139,7 +139,10 @@ void ath10k_info(struct ath10k *ar, const char *fmt, ...) va_start(args, fmt); vaf.va = &args; - dev_info(ar->dev, "%pV", &vaf); + if (ath10k_debug_mask & ATH10K_DBG_INFO_AS_DBG) + dev_printk(KERN_DEBUG, ar->dev, "%pV", &vaf); + else + dev_info(ar->dev, "%pV", &vaf); trace_ath10k_log_info(ar, &vaf); va_end(args); } diff --git a/drivers/net/wireless/ath/ath10k/debug.h b/drivers/net/wireless/ath/ath10k/debug.h index 641fce1..070f1c6 100644 --- a/drivers/net/wireless/ath/ath10k/debug.h +++ b/drivers/net/wireless/ath/ath10k/debug.h @@ -21,6 +21,10 @@ #include <linux/types.h> #include "trace.h" +/** + * ATH10K_DBG_INFO_AS_DBG: use dev_dbg instead of dev_info + * for ath10k_info messages + */ enum ath10k_debug_mask { ATH10K_DBG_PCI = 0x00000001, ATH10K_DBG_WMI = 0x00000002, @@ -38,6 +42,8 @@ enum ath10k_debug_mask { ATH10K_DBG_WMI_PRINT = 0x00002000, ATH10K_DBG_PCI_PS = 0x00004000, ATH10K_DBG_AHB = 0x00008000, + + ATH10K_DBG_INFO_AS_DBG = 0x40000000, ATH10K_DBG_FW = 0x80000000, ATH10K_DBG_ANY = 0xffffffff, };