xen: interrupt mitigation
xen: interrupt mitigation

There are two things we can do that will lead to less interrupts being sent.
The first, is to read the new rsp_cons value at the end of every interaction.
If the backend produces more frames in the mean time, we'll be able to process
in the same round, without getting another interrupt.

The other, is to set the rsp_event only after all the frames are processed.

As a matter of fact, both the tx and rx rings did one of them, but not the same
one. The next patch will unify the ring code to avoid problems like that in the
future.

Signed-off-by: Glauber Costa <f8b79557d19b40666ebe336545a0b6178af65685@cloudius-systems.com>

tempbottle/seastar,kjniemi/seastar,linearregression/seastar,guiquanz/scylla,avikivity/seastar,gwicke/scylla,acbellini/seastar,aruanruan/scylla,scylladb/seastar,norcimo5/seastar,slivne/seastar,capturePointer/scylla,justintung/scylla,stamhe/scylla,raphaelsc/seastar,mixja/seastar,dreamsxin/seastar,duarten/scylla,guiquanz/scylla,xtao/seastar,cloudius-systems/seastar,respu/scylla,avikivity/scylla,ducthangho/imdb,kjniemi/scylla,hongliangzhao/seastar,scylladb/scylla,rentongzhang/scylla,scylladb/seastar,shyamalschandra/seastar,victorbriz/scylla,rentongzhang/scylla,jonathanleang/seastar,eklitzke/scylla,scylladb/scylla-seastar,cloudius-systems/seastar,scylladb/scylla-seastar,linearregression/scylla,glommer/scylla,scylladb/seastar,gwicke/scylla,joerg84/seastar,leejir/seastar,stamhe/seastar,duarten/scylla,jonathanleang/seastar,flashbuckets/seastar,sjperkins/seastar,scylladb/scylla,xtao/seastar,glommer/scylla,asias/scylla,kjniemi/seastar,rluta/scylla,stamhe/scylla,phonkee/scylla,linearregression/seastar,sjperkins/seastar,rluta/scylla,tempbottle/scylla,senseb/scylla,raphaelsc/seastar,acbellini/seastar,printedheart/seastar,joerg84/seastar,tempbottle/seastar,hongliangzhao/seastar,flashbuckets/seastar,wildinto/seastar,sjperkins/seastar,avikivity/seastar,gwicke/scylla,raphaelsc/scylla,senseb/scylla,mixja/seastar,dreamsxin/seastar,chunshengster/seastar,tempbottle/seastar,xtao/seastar,eklitzke/scylla,shyamalschandra/seastar,capturePointer/scylla,chunshengster/seastar,bowlofstew/seastar,rentongzhang/scylla,justintung/scylla,tempbottle/scylla,phonkee/scylla,norcimo5/seastar,dwdm/scylla,anzihenry/seastar,chunshengster/seastar,dwdm/scylla,anzihenry/seastar,stamhe/seastar,bzero/seastar,acbellini/seastar,koolhazz/seastar,kangkot/scylla,scylladb/scylla,syuu1228/seastar,kangkot/scylla,kjniemi/scylla,wildinto/seastar,joerg84/seastar,scylladb/scylla,kangkot/scylla,justintung/scylla,koolhazz/seastar,dwdm/seastar,bowlofstew/scylla,jonathanleang/seastar,hongliangzhao/seastar,phonkee/scylla,koolhazz/seastar,slivne/seastar,flashbuckets/seastar,leejir/seastar,rluta/scylla,norcimo5/seastar,raphaelsc/scylla,senseb/scylla,acbellini/scylla,dreamsxin/seastar,kjniemi/seastar,acbellini/scylla,shaunstanislaus/scylla,acbellini/scylla,syuu1228/seastar,printedheart/seastar,victorbriz/scylla,avikivity/seastar,leejir/seastar,bowlofstew/seastar,kjniemi/scylla,cloudius-systems/seastar,bowlofstew/seastar,printedheart/seastar,glommer/scylla,aruanruan/scylla,avikivity/scylla,stamhe/seastar,raphaelsc/seastar,capturePointer/scylla,mixja/seastar,guiquanz/scylla,syuu1228/seastar,anzihenry/seastar,linearregression/scylla,wildinto/scylla,bzero/seastar,slivne/seastar,wildinto/scylla,shaunstanislaus/scylla,stamhe/scylla,respu/scylla,ducthangho/imdb,linearregression/scylla,wildinto/seastar,dwdm/scylla,shyamalschandra/seastar,shaunstanislaus/scylla,respu/scylla,scylladb/scylla-seastar,raphaelsc/scylla,ducthangho/imdb,dwdm/seastar,linearregression/seastar,avikivity/scylla,dwdm/seastar,bowlofstew/scylla,duarten/scylla,asias/scylla,asias/scylla,bowlofstew/scylla,bzero/seastar,eklitzke/scylla,aruanruan/scylla,victorbriz/scylla,wildinto/scylla,tempbottle/scylla