{"action":"created","issue":{"url":"https://api.github.com/repos/genodelabs/genode/issues/1575","labels_url":"https://api.github.com/repos/genodelabs/genode/issues/1575/labels{/name}","comments_url":"https://api.github.com/repos/genodelabs/genode/issues/1575/comments","events_url":"https://api.github.com/repos/genodelabs/genode/issues/1575/events","html_url":"https://github.com/genodelabs/genode/issues/1575","id":87385224,"number":1575,"title":"VirtualBox: allocate guest memory in chunks","user":{"login":"nfeske","id":1268399,"avatar_url":"https://avatars.githubusercontent.com/u/1268399?v=3","gravatar_id":"","url":"https://api.github.com/users/nfeske","html_url":"https://github.com/nfeske","followers_url":"https://api.github.com/users/nfeske/followers","following_url":"https://api.github.com/users/nfeske/following{/other_user}","gists_url":"https://api.github.com/users/nfeske/gists{/gist_id}","starred_url":"https://api.github.com/users/nfeske/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nfeske/subscriptions","organizations_url":"https://api.github.com/users/nfeske/orgs","repos_url":"https://api.github.com/users/nfeske/repos","events_url":"https://api.github.com/users/nfeske/events{/privacy}","received_events_url":"https://api.github.com/users/nfeske/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/genodelabs/genode/labels/feature","name":"feature","color":"1b7921"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-06-11T15:29:24Z","updated_at":"2015-06-11T19:06:42Z","closed_at":null,"body":"The current version of VirtualBox allocates the entire guest memory as a single dataspace from core's RAM service. If equipping the VM of the Turmvilla scenario if issue #1552 with 2GiB, core happens to not have a contiguous dataspace of this size available, due to memory fragmentation. Even though VirtualBox has enough quota, the RAM allocation fails.\r\n\r\nFor VirtualBox, there is actually no requirement to back the guest memory with physically contiguous RAM. To alleviate the RAM fragmentation issue, it should weaken the allocation constraint by performing multiple allocations using, let's say, 16 MiB chunks. VirtualBox can map those chunks virtually contiguous using a managed dataspace. We already use the same technique with L4Linux."},"comment":{"url":"https://api.github.com/repos/genodelabs/genode/issues/comments/111242521","html_url":"https://github.com/genodelabs/genode/issues/1575#issuecomment-111242521","issue_url":"https://api.github.com/repos/genodelabs/genode/issues/1575","id":111242521,"user":{"login":"nfeske","id":1268399,"avatar_url":"https://avatars.githubusercontent.com/u/1268399?v=3","gravatar_id":"","url":"https://api.github.com/users/nfeske","html_url":"https://github.com/nfeske","followers_url":"https://api.github.com/users/nfeske/followers","following_url":"https://api.github.com/users/nfeske/following{/other_user}","gists_url":"https://api.github.com/users/nfeske/gists{/gist_id}","starred_url":"https://api.github.com/users/nfeske/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nfeske/subscriptions","organizations_url":"https://api.github.com/users/nfeske/orgs","repos_url":"https://api.github.com/users/nfeske/repos","events_url":"https://api.github.com/users/nfeske/events{/privacy}","received_events_url":"https://api.github.com/users/nfeske/received_events","type":"User","site_admin":false},"created_at":"2015-06-11T19:06:42Z","updated_at":"2015-06-11T19:06:42Z","body":"@alex-ab Thanks for chiming in! Do you think it would be better to allocate the guest memory from the PCI driver then? The PCI driver could actually allocate chunks and map them sequentially within the device PD. Another (NOVA-specific) solution would be to associate the PCI devices directly to the VM (not the device PD)."}}