Messages in this thread | | | Subject | Re: [RFC PATCH V3 0/5] Hi: | From | Jason Wang <> | Date | Fri, 11 Jan 2019 16:59:13 +0800 |
| |
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
| |