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

Re: WARNING in __mmdrop

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2019-07-26 13:49:59
Also in: linux-mm, lkml

On Fri, Jul 26, 2019 at 09:36:18PM +0800, Jason Wang wrote:
On 2019/7/26 下午8:53, Jason Wang wrote:
quoted
On 2019/7/26 下午8:38, Michael S. Tsirkin wrote:
quoted
On Fri, Jul 26, 2019 at 08:00:58PM +0800, Jason Wang wrote:
quoted
On 2019/7/26 下午7:49, Michael S. Tsirkin wrote:
quoted
On Thu, Jul 25, 2019 at 10:25:25PM +0800, Jason Wang wrote:
quoted
On 2019/7/25 下午9:26, Michael S. Tsirkin wrote:
quoted
quoted
Exactly, and that's the reason actually I use
synchronize_rcu() there.

So the concern is still the possible synchronize_expedited()?
I think synchronize_srcu_expedited.

synchronize_expedited sends lots of IPI and is bad for realtime VMs.
quoted
Can I do this
on through another series on top of the incoming V2?

Thanks
The question is this: is this still a gain if we switch to the
more expensive srcu? If yes then we can keep the feature on,
I think we only care about the cost on srcu_read_lock()
which looks pretty
tiny form my point of view. Which is basically a
READ_ONCE() + WRITE_ONCE().

Of course I can benchmark to see the difference.

quoted
if not we'll put it off until next release and think
of better solutions. rcu->srcu is just a find and replace,
don't see why we need to defer that. can be a separate patch
for sure, but we need to know how well it works.
I think I get here, let me try to do that in V2 and
let's see the numbers.

Thanks
It looks to me for tree rcu, its srcu_read_lock() have a mb()
which is too
expensive for us.
I will try to ponder using vq lock in some way.
Maybe with trylock somehow ...

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.

-- 
MST

_______________________________________________
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