Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A Few Questions about your awesome work #193

Open
CyberTaoFlow opened this issue Jan 13, 2025 · 1 comment
Open

A Few Questions about your awesome work #193

CyberTaoFlow opened this issue Jan 13, 2025 · 1 comment
Assignees
Labels

Comments

@CyberTaoFlow
Copy link

Hello,

Let me start by thanking you for this contribution which is quite an elegant approach to a common need/use-case.

While considering the potential for production use a few questions arose:

  1. Do you have any plains to submit this for inclusion into the mainline kernel at some point?

  2. Are the allocated pages capable of using other page sizes available to the system without requiring enabling THP or hugetlbfs. Similarly to tmpfs now supports huge=always

  3. Is it possible to bind the pages to NUMA natively? As this involves a kernel module I would expect the support to be a load time option unless the daemon and management tooling being executed using numactl or hwloc-bind would work?

Sincerely,
A fellow chi-town native.

@pkoutoupis
Copy link
Owner

@CyberTaoFlow Thank you so much for the kind words and for your interest in my project. To answer your questions:

  1. I once tried to submit my code to the mainline kernel but was met with resistance. Not because of the quality but only because maintainers felt that some portions of the logic duplicated what was already part of the kernel and suggested that I take the rest of the code and integrate it into the existing brd module (maybe it was known as rd at the time, I cannot recall ATM).
  2. No. Not at the moment. 4K is the only supported page size.
  3. At the moment, it isn't possible to bind pages to NUMA natively. The module dynamically allocates pages upon request. It is essentially a thinly provisioned drive when created and will only consume the amount of memory when written. Maybe it would be possible to implement such a thing if the memory was preallocated.

To be honest, I have been implementing/maintaining this code since at least 2009 and recent life changes has made it extremely difficult for me to continue maintaining outside of reviewing and merging contributor pull requests. Ideally, if I can find someone or even a company to take over my efforts (and maybe implement some of what you are asking about), that would be phenomenal.

@pkoutoupis pkoutoupis self-assigned this Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants