Lines Matching defs:mo
345 mowner_convert_to_user(struct mowner *mo, struct mowner_user *mo_user)
349 CTASSERT(sizeof(mo_user->mo_name) == sizeof(mo->mo_name));
350 CTASSERT(sizeof(mo_user->mo_descr) == sizeof(mo->mo_descr));
351 memcpy(mo_user->mo_name, mo->mo_name, sizeof(mo->mo_name));
352 memcpy(mo_user->mo_descr, mo->mo_descr, sizeof(mo->mo_descr));
353 percpu_foreach(mo->mo_counters, mowner_convert_to_user_cb, mo_user);
359 struct mowner *mo;
368 LIST_FOREACH(mo, &mowners, mo_link) {
371 mowner_convert_to_user(mo, &mo_user);
2173 mowner_init_owner(struct mowner *mo, const char *name, const char *descr)
2175 memset(mo, 0, sizeof(*mo));
2176 strlcpy(mo->mo_name, name, sizeof(mo->mo_name));
2177 strlcpy(momo->mo_descr));
2181 mowner_attach(struct mowner *mo)
2184 KASSERT(mo->mo_counters == NULL);
2185 mo->mo_counters = percpu_alloc(sizeof(struct mowner_counter));
2188 LIST_INSERT_HEAD(&mowners, mo, mo_link);
2192 mowner_detach(struct mowner *mo)
2195 KASSERT(mo->mo_counters != NULL);
2198 LIST_REMOVE(mo, mo_link);
2200 percpu_free(mo->mo_counters, sizeof(struct mowner_counter));
2201 mo->mo_counters = NULL;
2208 struct mowner *mo;
2211 m->m_owner = mo = &unknown_mowners[type];
2213 mc = percpu_getref(mo->mo_counters);
2215 percpu_putref(mo->mo_counters);
2222 struct mowner *mo = m->m_owner;
2227 mc = percpu_getref(mo->mo_counters);
2232 percpu_putref(mo->mo_counters);
2239 struct mowner *mo = m->m_owner;
2244 mc = percpu_getref(mo->mo_counters);
2251 percpu_putref(mo->mo_counters);
2258 mowner_claim(struct mbuf *m, struct mowner *mo)
2265 mc = percpu_getref(mo->mo_counters);
2271 percpu_putref(mo->mo_counters);
2273 m->m_owner = mo;
2277 m_claim(struct mbuf *m, struct mowner *mo)
2280 if (m->m_owner == mo || mo == NULL)
2284 mowner_claim(m, mo);
2288 m_claimm(struct mbuf *m, struct mowner *mo)
2292 m_claim(m, mo);