MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sendfile_free_mext

Function sendfile_free_mext

freebsd/kern/kern_sendfile.c:165–186  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

163 "sendfile statistics");
164
165static void
166sendfile_free_mext(struct mbuf *m)
167{
168 struct sf_buf *sf;
169 vm_page_t pg;
170 int flags;
171
172 KASSERT(m->m_flags & M_EXT && m->m_ext.ext_type == EXT_SFBUF,
173 ("%s: m %p !M_EXT or !EXT_SFBUF", __func__, m));
174
175 sf = m->m_ext.ext_arg1;
176 pg = sf_buf_page(sf);
177 flags = (m->m_ext.ext_flags & EXT_FLAG_NOCACHE) != 0 ? VPR_TRYFREE : 0;
178
179 sf_buf_free(sf);
180 vm_page_release(pg, flags);
181
182 if (m->m_ext.ext_flags & EXT_FLAG_SYNC) {
183 struct sendfile_sync *sfs = m->m_ext.ext_arg2;
184 sendfile_sync_signal(sfs);
185 }
186}
187
188static void
189sendfile_free_mext_pg(struct mbuf *m)

Callers

nothing calls this directly

Calls 4

vm_page_releaseFunction · 0.85
sendfile_sync_signalFunction · 0.85
sf_buf_freeFunction · 0.70
sf_buf_pageFunction · 0.50

Tested by

no test coverage detected