Re: [RFC PATCH V3 0/5] Hi:

From: Jason Wang
Date: Fri Jan 11 2019 - 03:59:24 EST



On 2019/1/8 äå6:12, Jason Wang wrote:

On 2019/1/7 äå10:47, Michael S. Tsirkin wrote:
On Mon, Jan 07, 2019 at 02:58:08PM +0800, Jason Wang wrote:
On 2019/1/5 äå5:41, Michael S. Tsirkin wrote:
On Sat, Dec 29, 2018 at 08:46:51PM +0800, Jason Wang wrote:
This series tries to access virtqueue metadata through kernel virtual
address instead of copy_user() friends since they had too much
overheads like checks, spec barriers or even hardware feature
toggling.
I think it's a reasonable approach.
However I need to look at whether and which mmu notifiers are invoked before
writeback. Do you know?

I don't know but just looking at the MMU notifier ops definition, there's no
such callback if my understanding is correct.

Thanks
In that case how are you making sure used ring updates are written back?
If they aren't guest will crash ...


I think this is the writeback issue you mentioned early. I don't do a followup on the pointer but it looks to me some work is ongoing to fix the issue.

I can investigate it more, but it's not something new, consider the case of VFIO.

Thanks


Ok, after some investigation. The GUP + dirty pages issue is not easy to be fixed so it may still take a while.

An idea is switch back to copy_user() friends if we find the metadata page is not anonymous.

Does this sound good to you?

Thanks