Partition linux page cache for each VM
Hey, I need to modify pagecache such that each VM gets their own LRU list and eviction is done from that list. I need to verify whether I'm on the right path, so can anyone please verify my approach. The first step is to identify which VM is making the call to allocate a page. As VMs are stored as a file, I can identify each VM with their filename, right? For this, I'm trying to get the filename associated with an address_space object when add_to_page_cache_lru() is called in filemap.c
From address_space object, I can get inode and therefore dentry. I'm not able to figure out how to get the name of a file.
And can you please provide brief overview of what the overall approach should be? Any comments would help. Thanks. Chirag
On Thu, Apr 25, 2019 at 07:06:54PM +0530, Chirag Chauhan wrote:
Hey,
I need to modify pagecache such that each VM gets their own LRU list and eviction is done from that list.
Odd, please step back, why have you determined that this is something that you have to do? Were you told to do this by someone? Is this a homework assignment? What problems are you thinking that this might help with? And please define "VM" here, what exactly is that? A KVM image? Xen? Hyper-V? Something else? thanks, greg k-h
On Thu, Apr 25, 2019 at 10:57 PM Greg KH <greg@kroah.com> wrote:
On Thu, Apr 25, 2019 at 07:06:54PM +0530, Chirag Chauhan wrote:
Hey,
I need to modify pagecache such that each VM gets their own LRU list and eviction is done from that list.
Odd, please step back, why have you determined that this is something that you have to do? Were you told to do this by someone? Is this a homework assignment? What problems are you thinking that this might help with?
I have selected this as a course project for a course on virtualization. Doing this will reduce the performance interference between virtual machines.
And please define "VM" here, what exactly is that? A KVM image? Xen? Hyper-V? Something else?
Yes, a KVM image.
thanks,
greg k-h
Thank you.
On Fri, 26 Apr 2019 03:01:52 +0530, Chirag Chauhan said:
I have selected this as a course project for a course on virtualization. Doing this will reduce the performance interference between virtual machines.
Actually, it can make it worse. Consider the behavior of 4 VMs sharing 16G of page cache, where 3 VMs want 4.5G of cache each and 1 wants 2G. Now consider the behavior of 4 VMs each with a guaranteed 4G of page cache, where 3 VMs want 4.5G of cache each and 1 wants 2G. Then perform the same analysis for your LRU list, and make sure it actually provides a benefit before you start coding.....
On Fri, Apr 26, 2019 at 03:01:52AM +0530, Chirag Chauhan wrote:
On Thu, Apr 25, 2019 at 10:57 PM Greg KH <greg@kroah.com> wrote:
On Thu, Apr 25, 2019 at 07:06:54PM +0530, Chirag Chauhan wrote:
Hey,
I need to modify pagecache such that each VM gets their own LRU list and eviction is done from that list.
Odd, please step back, why have you determined that this is something that you have to do? Were you told to do this by someone? Is this a homework assignment? What problems are you thinking that this might help with?
I have selected this as a course project for a course on virtualization.
Great! Do we get credit for this as well? Be sure to let your professor know that random people on the internet contributed to your grade :) Good luck, you are on your own here, sorry.
Doing this will reduce the performance interference between virtual machines.
I really doubt it will, but hey, that's what research is for! :) greg k-h
participants (3)
-
Chirag Chauhan -
Greg KH -
Valdis Klētnieks