Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Feb 2020 10:16:19 +0100
From:      Hans Petter Selasky <hps@selasky.org>
To:        Adrian Chadd <adrian@freebsd.org>, FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Re: epoch and ath(4) - what should we be doing?
Message-ID:  <4945cea9-700a-6c4f-1fcc-0447a078f33a@selasky.org>
In-Reply-To: <CAJ-VmokqMzB-hGMOEwJ-1R3wsOzrL16jOqC58c34gM1CM00gPQ@mail.gmail.com>
References:  <CAJ-VmokqMzB-hGMOEwJ-1R3wsOzrL16jOqC58c34gM1CM00gPQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2020-02-20 02:01, Adrian Chadd wrote:
> Questions:
> 
> * are these things recursive?

Yes.

> * what are the rules around sleeping? I've seen some ... discussions
> that were quite animated around this.

Any non-sleepable lock is allowed under EPOCH(9).

> * what should I be doing as an epoch tracker if I could call the
> receive routine from multiple paths. I see a few drivers have a single
> place where they're doing EPOCH_ENTER/EPOCH_EXIT using an epoch
> tracker allocated in the interrupt handler stack, but what if I also
> want to call that receive path from another function path too? Can I
> just stuff an epoch_tracker on the stack and it'll DTRT ?

Try:
https://reviews.freebsd.org/D23674

> * .. is there some updated doc or brain dump somewhere I can read? I'd
> like to go add this to a couple out of tree wifi drivers under
> development so this would make that whole thing much easier.

Gleb ???

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4945cea9-700a-6c4f-1fcc-0447a078f33a>