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