Thread (87 messages) 87 messages, 7 authors, 2019-07-31

Re: WARNING in __mmdrop

From: Jason Wang <hidden>
Date: 2019-07-29 05:55:05
Also in: linux-mm, lkml

On 2019/7/26 下午9:49, Michael S. Tsirkin wrote:
quoted
quoted
Ok, let me retry if necessary (but I do remember I end up with deadlocks
last try).
Ok, I play a little with this. And it works so far. Will do more testing
tomorrow.

One reason could be I switch to use get_user_pages_fast() to
__get_user_pages_fast() which doesn't need mmap_sem.

Thanks
OK that sounds good. If we also set a flag to make
vhost_exceeds_weight exit, then I think it will be all good.

After some experiments, I came up two methods:

1) switch to use vq->mutex, then we must take the vq lock during range 
checking (but I don't see obvious slowdown for 16vcpus + 16queues). 
Setting flags during weight check should work but it still can't address 
the worst case: wait for the page to be swapped in. Is this acceptable?

2) using current RCU but replace synchronize_rcu() with 
vhost_work_flush(). The worst case is the same as 1) but we can check 
range without holding any locks.

Which one did you prefer?

Thanks


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help