tech-net archive

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

Re: RFC: softint-based if_input



On 02/03/16 04:44, Ryota Ozaki wrote:
On Tue, Feb 2, 2016 at 8:51 AM, Taylor R Campbell
<campbell+netbsd-tech-kern%mumble.net@localhost> wrote:
[snip]
In this case, it's not a priori clear to me why the caller must be in
hardintr context.  Perhaps you want to discourage callers from using
this if they're already in softint context.  But even if the caller is
in softint context, maybe it's higher-priority softint context than
softnet (e.g., I think skrll@ plans to make all USB softints run at
softserial instead of softnet), and maybe you don't want ifp->if_input
to run at >softnet priority.

I'm still debating what to do here, but it's clear to me that all USB callbacks running at splsoftnet
has issues - see

        http://gnats.netbsd.org/50491

and somewhat related

        http://gnats.netbsd.org/49065

Oh, that's a case I didn't take into account. Running if->if_input
at >softnet priority would break the assumption that we rely on.

What assumption are you making?

We may be able to change the assert to
   KASSERT(cpu_intr_p() || (cpu_softintr_p() && level != SOFTINT_NET))
though, I think we don't need to be paranoid for the case.
(And I don't know how to get level. Is there API?).

There isn't an API afaik.
   ozaki-r

Nick


Home | Main Index | Thread Index | Old Index