On Wed, 21 Feb 2018, Shakeel Butt wrote: > On Wed, Feb 21, 2018 at 8:09 AM, Christopher Lameter <cl@xxxxxxxxx> wrote: > > Another way to solve this is to switch the user context right? > > > > Isnt it possible to avoid these patches if do the allocation in another > > task context instead? > > > > Sorry, can you please explain what you mean by 'switch the user > context'. Is there any example in kernel which does something similar? See include/linux/task_work.h. One use case is in mntput_no_expire() in linux/fs/namespace.c > > Are there really any other use cases beyond fsnotify? > > > > Another use case I have in mind and plan to upstream is to bind a > filesystem mount with a memcg. So, all the file pages (or anon pages > for shmem) and kmem (like inodes and dentry) will be charged to that > memcg. The mount logic already uses task_work.h. That may be the approach to expand there.