Lines Matching refs:df
119 struct dpcpu_free *df;
121 df = malloc(sizeof(*df), M_PCPU, M_WAITOK | M_ZERO);
122 df->df_start = (uintptr_t)&DPCPU_NAME(modspace);
123 df->df_len = DPCPU_MODMIN;
124 TAILQ_INSERT_HEAD(&dpcpu_head, df, df_link);
137 struct dpcpu_free *df;
143 TAILQ_FOREACH(df, &dpcpu_head, df_link) {
144 if (df->df_len < size)
146 if (df->df_len == size) {
147 s = (void *)df->df_start;
148 TAILQ_REMOVE(&dpcpu_head, df, df_link);
149 free(df, M_PCPU);
152 s = (void *)df->df_start;
153 df->df_len -= size;
154 df->df_start = df->df_start + size;
168 struct dpcpu_free *df;
181 TAILQ_FOREACH(df, &dpcpu_head, df_link) {
182 if (df->df_start > end)
188 if (df->df_start + df->df_len == start) {
189 df->df_len += size;
190 dn = TAILQ_NEXT(df, df_link);
191 if (df->df_start + df->df_len == dn->df_start) {
192 df->df_len += dn->df_len;
199 if (df->df_start == end) {
200 df->df_start = start;
201 df->df_len += size;
206 dn = malloc(sizeof(*df), M_PCPU, M_WAITOK | M_ZERO);
209 if (df)
210 TAILQ_INSERT_BEFORE(df, dn, df_link);