On 2019/1/3 ??4:47, 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. > Will review, thanks! > One questions that comes to mind is whether it's all about bypassing > stac/clac. Could you please include a performance comparison with > nosmap? >On machine without SMAP (Sandy Bridge): Before: 4.8Mpps After: 5.2Mpps On machine with SMAP (Broadwell): Before: 5.0Mpps After: 6.1Mpps No smap: 7.5Mpps Thanks
On Mon, Jan 07, 2019 at 10:19:03AM +0800, Jason Wang wrote:> > On 2019/1/3 ??4:47, 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. > > Will review, thanks! > > One questions that comes to mind is whether it's all about bypassing > > stac/clac. Could you please include a performance comparison with > > nosmap? > > > > On machine without SMAP (Sandy Bridge): > > Before: 4.8Mpps > > After: 5.2MppsOK so would you say it's really unsafe versus safe accesses? Or would you say it's just a better written code?> On machine with SMAP (Broadwell): > > Before: 5.0Mpps > > After: 6.1Mpps > > No smap: 7.5Mpps > > > Thanksno smap being before or after? -- MST
On 2019/1/7 ??11:28, Michael S. Tsirkin wrote:> On Mon, Jan 07, 2019 at 10:19:03AM +0800, Jason Wang wrote: >> On 2019/1/3 ??4:47, 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. >>> Will review, thanks! >>> One questions that comes to mind is whether it's all about bypassing >>> stac/clac. Could you please include a performance comparison with >>> nosmap? >>> >> On machine without SMAP (Sandy Bridge): >> >> Before: 4.8Mpps >> >> After: 5.2Mpps > OK so would you say it's really unsafe versus safe accesses? > Or would you say it's just a better written code?It's the effect of removing speculation barrier.> >> On machine with SMAP (Broadwell): >> >> Before: 5.0Mpps >> >> After: 6.1Mpps >> >> No smap: 7.5Mpps >> >> >> Thanks > > no smap being before or after? >Let me clarify: Before (SMAP on): 5.0Mpps Before (SMAP off): 7.5Mpps After (SMAP on): 6.1Mpps Thanks