Search Linux Wireless

RE: [PATCHv2] ath10k: Add wrapper function to ath10k debug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: ath10k <ath10k-bounces@xxxxxxxxxxxxxxxxxxx> On Behalf Of Michal
> Kazior
> Sent: Friday, April 26, 2019 7:15 PM
> To: Venkateswara Naralasetty <vnaralas@xxxxxxxxxxxxxx>
> Cc: Kan Yan <kyan@xxxxxxxxxxxx>; linux-wireless <linux-
> wireless@xxxxxxxxxxxxxxx>; ath10k@xxxxxxxxxxxxxxxxxxx
> Subject: [EXT] Re: [PATCHv2] ath10k: Add wrapper function to ath10k debug
> 
> On Fri, 26 Apr 2019 at 14:58, Venkateswara Naralasetty
> <vnaralas@xxxxxxxxxxxxxx> wrote:
> >
> > ath10k_dbg() is called in ath10k_process_rx() with huge set of
> > arguments which is causing CPU overhead even when debug_mask is not
> set.
> > Good improvement was observed in the receive side performance when
> > call to ath10k_dbg() is avoided in the RX path.
> [...]
> 
> > +/* Avoid calling __ath10k_dbg() if debug_mask is not set and tracing
> > + * disabled.
> > + */
> > +#define ath10k_dbg(ar, dbg_mask, fmt, ...)                     \
> > +do {                                                           \
> > +       if ((ath10k_debug_mask & dbg_mask) ||                   \
> > +           trace_ath10k_log_dbg_enabled())                     \
> > +               __ath10k_dbg(ar, dbg_mask, fmt, ##__VA_ARGS__); \ }
> > +while (0)
> 
> Did you consider using jump labels (see include/linux/jump_label.h)?
> It's what tracing uses under the hood. I wonder if you could squeeze out a bit
> more performance with that? I guess you'd need to add `struct static_key
> ath10k_dbg_mask_keys[ATH10K_DBG_MAX]` and re-do
> ath10k_debug_mask enum a bit.
> 
I could not observe any significant Throughput/CPU improvement after using jump labels. For now shall we go with my patch?

Thanks,
Venkatesh.
> 
> Michal
> 
> _______________________________________________
> ath10k mailing list
> ath10k@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/ath10k




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux