Ray Of Hope


braindump- memory corruption

Linux kernel 3.10 has somewhat dubious use of __GFP_WAIT which is more recent kernel has been replaced __GFP_RECLAIM and __GFP_DIRECT_RECLAIM which are more sensible . I have been debugging a customer issue where AMD GPU passhtrough for S9050 card is causing XenServer host running 3.10 kernel to crash but XenServer 7.x Tech Preview release with […]

Posted in debugging, Linux Kernel, Xen, Xen | No Comments »

XSM-Flask / Xen Credit-2 scheduler

Below are the links for my talk at XenSummit 2016 Toronto on 1) XSM/Flask current architecture, its shortcomings and new approach. 2) Credit-2 scheduler benchmarks and comparative results with Credit-1. Xen Credit-2 Scheduler Performance Benchmarks XSM Flask Let me know in case of any queries. Anshul Makkar anshul_makkar@justkernel.com

Posted in Xen | No Comments »

Random host crash when running Xen + Braindump pvMMU.

Kernel crash call trace Apr 6 02:50:06 localhost kernel: [ 3107.388117] [] dump_stack+0x19/0x20 Apr 6 02:50:06 localhost kernel: [ 3107.388119] [] warn_slowpath_common+0x70/0xa0 Apr 6 02:50:06 localhost kernel: [ 3107.388122] [] warn_slowpath_null+0x1a/0x20 Apr 6 02:50:06 localhost kernel: [ 3107.388125] [] xen_mc_flush+0x177/0x190 Apr 6 02:50:06 localhost kernel: [ 3107.388128] [] __xen_pgd_pin+0x23c/0x290 Apr 6 02:50:06 localhost kernel: [ […]


Posted in debugging, Xen | 2 Comments »

Interrupt Path on Xen and on Baremetal system.

I was exploring an issue where qlogic device interrupt vector corresponding to a particular TX ring remained in masked state after the device comes up or is resetted. So the no packet transfer was possible on a port which was using that Tx queue and due to inaction, after some time this ports used to […]


Posted in Linux Kernel, virtualization, Xen | No Comments »

GPU Passthrough under ballooning + XEN and role of POD driver.

Its happening only in case HVM guest. I used Win 7 64 bit of reproducing the crash. This article is in continuation with the previous one where I saw a crash in RMRR region in case of GPU passthrough. To work around this problem I introduced a memory whole of 2 GB in the guest […]

Tags: , , , , , ,

Posted in virtualization, Xen | No Comments »

RMRR region GPU passthough + xen

Today faced with a issue where one VM is assigned GPU via passthrough mode and other VM doesn’t have GPU assignement. If I swap the max and min dynamic memory assignment of both these VMs (changing the size of balloon for each VM), guest with GPU crashes after 2-3 iterations. E820 Map of Host: (XEN) […]

Tags: ,

Posted in virtualization, Xen | No Comments »

multipage support for netback driver + Xen

Here are some of my learnings from my work on multipage support for netback driver. Learnings related to how we are making use of multi page and also how netback and netfron communicate. driver/xen/xen_probe.c keeps monitoring the backend and frontend states and calls the appropriate driver.otherend_changed(drivers/net/netfront or driver/net/netback) function. xenbus.c : static DEFINE_XENBUS_DRIVER(netback, , .probe […]

Tags: , , ,

Posted in virtualization, Xen | No Comments »

Broadwell + Xen + Classic guest kernel + WRITE_FAULT + SMAP Violation.

Recently faced an issue where classic guest kernel (2.6.*) were faulting on Broadwell hardware. From the day 1 doubt was on SMAP feature that is exclusive to Broadwell but had to prove it. Approach: Compiled the guest kernel with instrumentation but can’t use it as the guest on Broadwell hangs just during reboot. (I compiled […]

Tags: , ,

Posted in virtualization, Xen | No Comments »

QEMU Networking Vhost-user & Transport Infiniband – series 1, general architecture

Objective: Get the maximum performance for VM to VM communication using Infiniband backend utilizing RDMA. Design: server1 running VM1—>Usermode app running on server1—–RDMA TRANSPORT—->App2 running on server2—>vm2 running on server 2. brief description: vm1 is executed on server1 using emulated virtio-net(frontend) adapter and vhost-user backend. PACKETH runs on vm1 and generates the broadcast packet. App1 […]

Tags: , , , ,

Posted in qemu, vhost-user, virtio-net, virtualization | 2 Comments »

QEMU + Simple Network rate limiter from Linux Host side.

Simple Network rate limiter from Linux Host side : Controlling the flow using ring buffer. diff –git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 613f144..df620f7 100644 — a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -218,6 +218,7 @@ static void rxfilter_notify(NetClientState *nc) static char *mac_strdup_printf(const uint8_t *mac) { + printf(“Hello world \n”); return g_strdup_printf(“%.2x:%.2x:%.2x:%.2x:%.2x:%.2x”, mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); } @@ -1050,13 […]


Posted in qemu, virtualization | No Comments »