Re: drivers/gpu/drm/i915/i915.prelink.o: warning: objtool: __intel_wait_for_register_fw.cold()+0xce: relocation to !ENDBR: vlv_allow_gt_wake.cold+0x0

From: Steven Rostedt
Date: Wed Apr 06 2022 - 12:54:01 EST

On Wed, 6 Apr 2022 09:29:13 +0200
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> Best would be for Steve to send a patch removing them all:
> arch/powerpc/kvm/book3s_xics.c:#define XICS_DBG(fmt...) trace_printk(fmt)
> drivers/gpu/drm/i915/gt/intel_gtt.h:#define DBG(...) trace_printk(__VA_ARGS__)
> drivers/gpu/drm/i915/i915_gem.h:#define GEM_TRACE(...) trace_printk(__VA_ARGS__)
> drivers/gpu/drm/i915/i915_gem.h: trace_printk(__VA_ARGS__); \
> drivers/hwtracing/stm/dummy_stm.c: trace_printk("[%u:%u] [pkt: %x/%x] (%llx)\n", master, channel,
> drivers/infiniband/hw/hfi1/trace_dbg.h: trace_printk(fmt, ##__VA_ARGS__)
> drivers/tty/n_tty.c:# define n_tty_trace(f, args...) trace_printk(f, ##args)
> drivers/usb/early/xhci-dbc.c:#define xdbc_trace trace_printk
> fs/ext4/inline.c: trace_printk("inode %lu\n", dir->i_ino);
> fs/ext4/inline.c: trace_printk("de: off %u rlen %u name %.*s nlen %u ino %u\n",
> All except i915 use CPP tokens that don't exist, local developer really
> has to take effort to enable it. i915 crud depends on a CONFIG_ symbols
> that all{yes,mod}config will happily set for you,

As I replied to Josh, when trace_printk() is used, you get nasty dmesg
reports, and those do show up in bug reports to vendors (I laugh every time
I see them.)

I'm not too worried if trace_printk() is called for debugging, and even
with CONFIG_ options.

I even have trace_printk() used for things like my ring_buffer benchmark
(which should never be run on production!)

Thus, if the code that has trace_printk() is truly for debugging, and not
something that would normally get applied in other people's trees, then
that actually falls into its use case.

-- Steve