summary refs log tree commit diff stats
path: root/results/classifier/111/review/1333688
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/111/review/1333688')
-rw-r--r--results/classifier/111/review/133368889
1 files changed, 89 insertions, 0 deletions
diff --git a/results/classifier/111/review/1333688 b/results/classifier/111/review/1333688
new file mode 100644
index 00000000..df6dc434
--- /dev/null
+++ b/results/classifier/111/review/1333688
@@ -0,0 +1,89 @@
+PID: 0.140
+device: 0.124
+network: 0.119
+other: 0.104
+semantic: 0.093
+vnc: 0.084
+graphic: 0.059
+debug: 0.047
+performance: 0.044
+socket: 0.044
+files: 0.041
+KVM: 0.037
+permissions: 0.035
+boot: 0.031
+debug: 0.694
+network: 0.070
+device: 0.057
+KVM: 0.053
+semantic: 0.026
+files: 0.024
+performance: 0.017
+other: 0.014
+socket: 0.011
+boot: 0.011
+PID: 0.008
+vnc: 0.007
+graphic: 0.005
+permissions: 0.004
+
+vhost-user: VHOST_USER_SET_MEM_TABLE doesn't contain all regions
+
+
+
+vhost-user implementation doesn't provide information about all memory regions, 
+and in some cases client is not able to map buffer memory as he is missing 
+memory region information for specific address.
+
+Same thing is implemented properly for vhost-net. Below gdb outputs are 
+showing memory regions information provided to the vhost-net and vhost-user.
+
+
+
+==== memory regions information provided to vhost-net  ====
+
+(gdb) p/x hdev->mem->regions[0]
+$21 = {
+  guest_phys_addr = 0x100000000,
+  memory_size = 0xc0000000,
+  userspace_addr = 0x2aab6ac00000,
+  flags_padding = 0x0
+}
+(gdb) p/x hdev->mem->regions[1]
+$22 = {
+  guest_phys_addr = 0xfffc0000,
+  memory_size = 0x40000,
+  userspace_addr = 0x7ffff4a00000,
+  flags_padding = 0x0
+}
+(gdb) p/x hdev->mem->regions[2]
+$23 = {
+  guest_phys_addr = 0x0,
+  memory_size = 0xa0000,
+  userspace_addr = 0x2aaaaac00000,
+  flags_padding = 0x0
+}
+(gdb) p/x hdev->mem->regions[3]
+$24 = {
+  guest_phys_addr = 0xc0000,
+  memory_size = 0xbff40000,
+  userspace_addr = 0x2aaaaacc0000,
+  flags_padding = 0x0
+}
+(gdb)
+
+
+==== memory regions information provided to vhost-user  ====
+
+(gdb) p/x msg.memory.nregions
+$28 = 0x1
+(gdb) p/x msg.memory.regions[0]
+$29 = {
+  guest_phys_addr = 0x0,
+  memory_size = 0x180000000,
+  userspace_addr = 0x2aaaaac00000
+}
+(gdb)
+
+Problem fixed in qemu commit 3fd74b84.
+