Just want to confirm: > > + again: > > + if (pass == 0 && handle && *handle && > > + (*handle >= pool->start) && (*handle < pool->end)) > > + start = *handle; > > + else > > + start = pool->hint; > > Now this means "handle" might be < pool->hint, in that case you also > need a lazy flush. Or rather only if the resulting alloc is. My : > > + } else { > > + /* give up */ > > + n = DMA_ERROR_CODE; > > + goto bail; > > + } > > + } > > Here, make this something like: > > } else if (end < pool->hint) > need_flush = true; you mean } else if (start < pool->hint) right? (so I'm not missing some corner-case that you are thinking about here) --Sowmini -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html