[Virtio-fs] [RFC] [PATCH] virtiofsd: Auto switch between inline and thread-pool processing

2021-04-23 Thread Vivek Goyal
This is just an RFC patch for now. I am still running performance numbers and see if this method of switching is good enough or not. I did one run and seemed to get higher performance on deeper queue depths. There were few tests where I did not match lower queue depth performance with no thread

Re: [Virtio-fs] [PATCH v4 0/3] dax: Fix missed wakeup in put_unlocked_entry()

2021-04-23 Thread Dan Williams
On Fri, Apr 23, 2021 at 6:07 AM Vivek Goyal wrote: > > Hi, > > This is V4 of the patches. Posted V3 here. > > https://lore.kernel.org/linux-fsdevel/20210419213636.1514816-1-vgo...@redhat.com/ > > Changes since V3 are. > > - Renamed "enum dax_entry_wake_mode" to "enum dax_wake_mode" (Matthew

[Virtio-fs] [virtiofsd-rs] MR opened: Fix killpriv v1 enforcement on writes

2021-04-23 Thread virtiofs-bot
The `set_creds` function returns a pair of ScopedUid/ScopedGid objects (well, they're `Option`) that change the effective uid and gid of the calling thread for the duration of their scope. That is, once they're dropped, they "pop" the new uid/gid back to uid/gid 0. Trouble is, right now, these

[Virtio-fs] [PATCH v4 1/3] dax: Add an enum for specifying dax wakup mode

2021-04-23 Thread Vivek Goyal
Dan mentioned that he is not very fond of passing around a boolean true/false to specify if only next waiter should be woken up or all waiters should be woken up. He instead prefers that we introduce an enum and make it very explicity at the callsite itself. Easier to read code. This patch should

[Virtio-fs] [PATCH v4 0/3] dax: Fix missed wakeup in put_unlocked_entry()

2021-04-23 Thread Vivek Goyal
Hi, This is V4 of the patches. Posted V3 here. https://lore.kernel.org/linux-fsdevel/20210419213636.1514816-1-vgo...@redhat.com/ Changes since V3 are. - Renamed "enum dax_entry_wake_mode" to "enum dax_wake_mode" (Matthew Wilcox) - Changed description of WAKE_NEXT and WAKE_ALL (Jan Kara) - Got

[Virtio-fs] [PATCH v4 2/3] dax: Add a wakeup mode parameter to put_unlocked_entry()

2021-04-23 Thread Vivek Goyal
As of now put_unlocked_entry() always wakes up next waiter. In next patches we want to wake up all waiters at one callsite. Hence, add a parameter to the function. This patch does not introduce any change of behavior. Reviewed-by: Greg Kurz Reviewed-by: Jan Kara Suggested-by: Dan Williams

[Virtio-fs] [PATCH v4 3/3] dax: Wake up all waiters after invalidating dax entry

2021-04-23 Thread Vivek Goyal
I am seeing missed wakeups which ultimately lead to a deadlock when I am using virtiofs with DAX enabled and running "make -j". I had to mount virtiofs as rootfs and also reduce to dax window size to 256M to reproduce the problem consistently. So here is the problem. put_unlocked_entry() wakes up