On 10/12/2017 05:00 PM, Bart Van Assche wrote: > On Thu, 2017-10-12 at 16:52 -0600, Jens Axboe wrote: >> On 10/12/2017 04:45 PM, Bart Van Assche wrote: >>> +++ b/include/linux/sgl_alloc.h >>> @@ -0,0 +1,16 @@ >>> +#ifndef _SGL_ALLOC_H_ >>> +#define _SGL_ALLOC_H_ >>> + >>> +#include <linux/types.h> /* bool, gfp_t */ >>> + >>> +struct scatterlist; >>> + >>> +struct scatterlist *sgl_alloc_order(unsigned long long length, >>> + unsigned int order, unsigned int *nent_p, >>> + gfp_t gfp, bool chainable); >>> +struct scatterlist *sgl_alloc(unsigned long long length, unsigned int *nent_p, >>> + gfp_t gfp); >>> +void sgl_free_order(struct scatterlist *sgl, int order); >>> +void sgl_free(struct scatterlist *sgl); >>> + >>> +#endif /* _SGL_ALLOC_H_ */ >> >> Should this just go into linux/scatterlist.h instead of creating a new header >> file? > > That's something I can change. I don't have a strong opinion about whether > these declarations should go into a new header file or into linux/scatterlist.h. I think you should make that change, keep things simpler. As Johannes suggested, you could move the code to lib/scatterlist.c as well. I would recommend keeping the kconfig option to only build it when needed, though. -- Jens Axboe