Hi again, I debugged the kernel codes and found out the root cause. The sharing is not done for some pages causing error -E2BIG which is due to reference count being more than one. This prevents hypervor to nominate the page. As much as I know about this issue, the page that I want to nominate and I receive this error from make_page_sharable function in mem_sharing.c is pointed by more than one pages. So, is there any idea to resolve this issue? I though that I can put the page number in a buffer and share it again after t milliseconds but still the nomination return -E2BIG error. Am I missing something? I would be grateful if you could help. On Sat, Jul 28, 2018 at 11:13 AM sepanta s wrote: > Thanks. > I would be thankful if he can help me ... > > On Mon, Jul 23, 2018 at 11:52 AM Razvan Cojocaru < > rcojocaru@bitdefender.com> wrote: > >> On 07/23/2018 05:37 AM, sepanta s wrote: >> > I have written a program that can share memory pages of two VMs every x >> > milliseconds. To do so, I modified xen and added an unshare event to be >> > able to capture it. However, for some pages, when I receive the unshare >> > event that contains the information about the pages which was about to >> > be written on and put it on a buffer for sharing them again after x >> > milliseconds, I cannot nominate them again and an error occurs. So, the >> > sharing mechanism I have built can partially share pages. I guess the >> > problem might be because of internal structure of sharing mechanism in >> > the Xen but can't figure out the problem. >> > Do you have any idea what can cause this problem? Or what should I >> > check to get closer to any solution? >> >> I've never used this feature, but Tamas might have some insight into >> this (added to Cc). >> >