tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: struct ifnet locking [was Re: IFEF_MPSAFE]
On 14/12/2017 10:48, Ryota Ozaki wrote:
On Fri, Dec 8, 2017 at 7:53 PM, Nick Hudson <skrll%netbsd.org@localhost> wrote:
Not sure I follow this. I think we agree that the driver should not use
if_flags in the rx/tx path (anymore).
Yes. Drivers should provide their own method.
Great.
Anyway I updated the document that reflects recent changes:
http://www.netbsd.org/~ozaki-r/ifnet-locks.v2.diff
Some wording improvement suggestions...
@@ -391,11 +429,33 @@ typedef struct ifnet {
#define IFEF_NO_LINK_STATE_CHANGE __BIT(1) /* doesn't use link state interrupts */
/*
- * The following if_XXX() handlers don't take KERNEL_LOCK if the interface
- * is set IFEF_MPSAFE:
- * - if_start
- * - if_output
- * - if_ioctl
+ * The guidline to enable IFEF_MPSAFE on an interface
The guidelines for converting an interface to IFEF_MPSAFE are as follows
+ * Enabling IFEF_MPSAFE on an interface suppress taking KERNEL_LOCK
+ * on the following handlers:
Enabling IFEF_MPSAFE on an interface suppresses taking KERNEL_LOCK when
calling the following handlers:
Thanks for working on this.
Nick
Home |
Main Index |
Thread Index |
Old Index