Merge pull request #2017 from cesanta/mipneat

qprofile related fixes
This commit is contained in:
Sergio R. Caprile 2023-02-02 17:34:28 -03:00 committed by GitHub
commit 43e48d2ba6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 6 deletions

View File

@ -829,8 +829,10 @@ static void mip_poll(struct mip_if *ifp, uint64_t uptime_ms) {
// Read data from the network
size_t len = ifp->driver->rx((void *) ifp->rx.ptr, ifp->rx.len, ifp);
mip_rx(ifp, (void *) ifp->rx.ptr, len);
qp_mark(QP_FRAMEDONE, (int) q_space(&ifp->queue));
if (len) {
mip_rx(ifp, (void *) ifp->rx.ptr, len);
qp_mark(QP_FRAMEDONE, (int) q_space(&ifp->queue));
}
// Process timeouts
for (struct mg_connection *c = ifp->mgr->conns; c != NULL; c = c->next) {
@ -874,7 +876,9 @@ void mip_qwrite(void *buf, size_t len, struct mip_if *ifp) {
size_t mip_qread(void *buf, struct mip_if *ifp) {
size_t len = q_read(&ifp->queue, buf);
qp_mark(QP_FRAMEPOPPED, (int) q_space(&ifp->queue));
if (len) {
qp_mark(QP_FRAMEPOPPED, (int) q_space(&ifp->queue));
}
return len;
}

View File

@ -7344,8 +7344,10 @@ static void mip_poll(struct mip_if *ifp, uint64_t uptime_ms) {
// Read data from the network
size_t len = ifp->driver->rx((void *) ifp->rx.ptr, ifp->rx.len, ifp);
mip_rx(ifp, (void *) ifp->rx.ptr, len);
qp_mark(QP_FRAMEDONE, (int) q_space(&ifp->queue));
if (len) {
mip_rx(ifp, (void *) ifp->rx.ptr, len);
qp_mark(QP_FRAMEDONE, (int) q_space(&ifp->queue));
}
// Process timeouts
for (struct mg_connection *c = ifp->mgr->conns; c != NULL; c = c->next) {
@ -7389,7 +7391,9 @@ void mip_qwrite(void *buf, size_t len, struct mip_if *ifp) {
size_t mip_qread(void *buf, struct mip_if *ifp) {
size_t len = q_read(&ifp->queue, buf);
qp_mark(QP_FRAMEPOPPED, (int) q_space(&ifp->queue));
if (len) {
qp_mark(QP_FRAMEPOPPED, (int) q_space(&ifp->queue));
}
return len;
}