Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F33719302
t.diff
gallatin (Andrew Gallatin)
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Authored By
gallatin
Dec 15 2021, 6:49 PM
2021-12-15 18:49:23 (UTC+0)
Size
2 KB
Referenced Files
None
Subscribers
None
t.diff
View Options
diff --git a/sys/dev/oce/oce_if.c b/sys/dev/oce/oce_if.c
index 271c35015a9..1127565282c 100644
--- a/sys/dev/oce/oce_if.c
+++ b/sys/dev/oce/oce_if.c
@@ -2039,14 +2039,17 @@ oce_rq_handler_lro(void *arg)
uint16_t
oce_rq_handler(void *arg)
{
+ struct epoch_tracker et;
struct oce_rq *rq = (struct oce_rq *)arg;
struct oce_cq *cq = rq->cq;
POCE_SOFTC sc = rq->parent;
struct oce_nic_rx_cqe *cqe;
int num_cqes = 0;
+ NET_EPOCH_ENTER(et);
if(rq->islro) {
oce_rq_handler_lro(arg);
+ NET_EPOCH_EXIT(et);
return 0;
}
LOCK(&rq->rx_lock);
@@ -2090,6 +2093,7 @@ oce_rq_handler(void *arg)
oce_check_rx_bufs(sc, num_cqes, rq);
UNLOCK(&rq->rx_lock);
+ NET_EPOCH_EXIT(et);
return 0;
}
@@ -2110,7 +2114,7 @@ oce_attach_ifp(POCE_SOFTC sc)
ifmedia_add(&sc->media, IFM_ETHER | IFM_AUTO, 0, NULL);
ifmedia_set(&sc->media, IFM_ETHER | IFM_AUTO);
- sc->ifp->if_flags = IFF_BROADCAST | IFF_MULTICAST;
+ sc->ifp->if_flags = IFF_BROADCAST | IFF_MULTICAST | IFF_KNOWSEPOCH;
sc->ifp->if_ioctl = oce_ioctl;
sc->ifp->if_start = oce_start;
sc->ifp->if_init = oce_init;
diff --git a/sys/dev/oce/oce_if.h b/sys/dev/oce/oce_if.h
index 8938dd86ecc..4ddce2aab59 100644
--- a/sys/dev/oce/oce_if.h
+++ b/sys/dev/oce/oce_if.h
@@ -43,6 +43,7 @@
#include <sys/param.h>
#include <sys/endian.h>
#include <sys/eventhandler.h>
+#include <sys/epoch.h>
#include <sys/malloc.h>
#include <sys/module.h>
#include <sys/kernel.h>
diff --git a/sys/dev/oce/oce_queue.c b/sys/dev/oce/oce_queue.c
index 04c92a5f397..1308ca1ab70 100644
--- a/sys/dev/oce/oce_queue.c
+++ b/sys/dev/oce/oce_queue.c
@@ -1233,12 +1233,14 @@ oce_rx_cq_clean(struct oce_rq *rq)
void
oce_stop_rx(POCE_SOFTC sc)
{
+ struct epoch_tracker et;
struct oce_mbx mbx;
struct mbx_delete_nic_rq *fwcmd;
struct mbx_delete_nic_rq_v1 *fwcmd1;
struct oce_rq *rq;
int i = 0;
+ NET_EPOCH_ENTER(et);
/* before deleting disable hwlro */
if(sc->enable_hwlro)
oce_mbox_nic_set_iface_lro_config(sc, 0);
@@ -1274,6 +1276,7 @@ oce_stop_rx(POCE_SOFTC sc)
UNLOCK(&rq->rx_lock);
}
}
+ NET_EPOCH_EXIT(et);
}
int
File Metadata
Details
Attached
Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4342501
Default Alt Text
t.diff (2 KB)
Attached To
Mode
D33395: Fix epoch handling in if_oce
Attached
Detach File
Event Timeline
Log In to Comment