From: Steven Rostedt on
On Wed, 2009-12-16 at 11:04 -0500, Neil Horman wrote:


> +#if !defined(_TRACE_NAPI_H_) || defined(TRACE_HEADER_MULTI_READ)
> #define _TRACE_NAPI_H_
>

Ug, I'm still getting panics because of this. I found out that it's
because napi->dev can be NULL.

Here's what I did to solve it:


> #include <linux/netdevice.h>
> #include <linux/tracepoint.h>
> +#include <linux/ftrace.h>
> +

#define NO_DEV "(no device)"

> +TRACE_EVENT(napi_poll,
>
> -DECLARE_TRACE(napi_poll,
> TP_PROTO(struct napi_struct *napi),
> - TP_ARGS(napi));
> +
> + TP_ARGS(napi),
> +
> + TP_STRUCT__entry(
> + __field( struct napi_struct *, napi)
> + __string( dev_name, napi->dev->name)

__string( dev_name, napi->dev ? napi->dev->name, NO_DEV )

> + ),
> +
> + TP_fast_assign(
> + __entry->napi = napi;
> + __assign_str(dev_name, napi->dev->name);

__assign_str(dev_name, napi->dev ? napi->dev->name, NO_DEV);

> + ),
> +
> + TP_printk("napi poll on napi struct %p for device %s",
> + __entry->napi, __get_str(dev_name))
> +);

#undef NO_DEV

-- Steve


>
> #endif
> +
> +#include <trace/define_trace.h>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Steven Rostedt on
On Wed, 2009-12-23 at 07:02 -0500, Neil Horman wrote:
> On Tue, Dec 22, 2009 at 01:03:59PM -0500, Steven Rostedt wrote:
> > On Wed, 2009-12-16 at 11:04 -0500, Neil Horman wrote:
> >
> >
> > > +#if !defined(_TRACE_NAPI_H_) || defined(TRACE_HEADER_MULTI_READ)
> > > #define _TRACE_NAPI_H_
> > >
> >
> > Ug, I'm still getting panics because of this. I found out that it's
> > because napi->dev can be NULL.
> >
> > Here's what I did to solve it:
> Gahhh, you're right, We had to do the same thing in net-next's commit
> f2798eb4e01b095f273f4bf40f511c9d69c0e1da. If you queue to the backlog, the
> backlog napi instance has no net device and so its null. This is exactly the
> right fix.

OK, I'll update the patch and apply it.

But this doesn't need to go into 33 correct. We can let it brew for 34?

-- Steve


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/