Re: [PATCH 00/35] Enhance memory utilization with DMEMFS

From: yulei zhang
Date: Mon Oct 12 2020 - 22:45:27 EST


On Mon, Oct 12, 2020 at 7:57 PM Zengtao (B) <prime.zeng@xxxxxxxxxxxxx> wrote:
>
>
> > -----Original Message-----
> > From: yulei.kernel@xxxxxxxxx [mailto:yulei.kernel@xxxxxxxxx]
> > Sent: Thursday, October 08, 2020 3:54 PM
> > To: akpm@xxxxxxxxxxxxxxxxxxxx; naoya.horiguchi@xxxxxxx;
> > viro@xxxxxxxxxxxxxxxxxx; pbonzini@xxxxxxxxxx
> > Cc: linux-fsdevel@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx;
> > linux-kernel@xxxxxxxxxxxxxxx; xiaoguangrong.eric@xxxxxxxxx;
> > kernellwp@xxxxxxxxx; lihaiwei.kernel@xxxxxxxxx; Yulei Zhang
> > Subject: [PATCH 00/35] Enhance memory utilization with DMEMFS
> >
> > From: Yulei Zhang <yuleixzhang@xxxxxxxxxxx>
> >
> > In current system each physical memory page is assocaited with
> > a page structure which is used to track the usage of this page.
> > But due to the memory usage rapidly growing in cloud environment,
> > we find the resource consuming for page structure storage becomes
> > highly remarkable. So is it an expense that we could spare?
> >
> > This patchset introduces an idea about how to save the extra
> > memory through a new virtual filesystem -- dmemfs.
> >
> > Dmemfs (Direct Memory filesystem) is device memory or reserved
> > memory based filesystem. This kind of memory is special as it
> > is not managed by kernel and most important it is without 'struct page'.
> > Therefore we can leverage the extra memory from the host system
> > to support more tenants in our cloud service.
> >
> > We uses a kernel boot parameter 'dmem=' to reserve the system
> > memory when the host system boots up, the details can be checked
> > in /Documentation/admin-guide/kernel-parameters.txt.
> >
> > Theoretically for each 4k physical page it can save 64 bytes if
> > we drop the 'struct page', so for guest memory with 320G it can
> > save about 5G physical memory totally.
>
> Sounds interesting, but seems your patch only support x86, have you
> considered aarch64?
>
> Regards
> Zengtao

Thanks, so far we only verify it on x86 server, may extend to arm platform
in the future.