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

"sched_setaffinity" [fs/winefs/winefs.ko] undefined! #10

Open
YozoraHoshifuru opened this issue Sep 25, 2022 · 1 comment
Open

"sched_setaffinity" [fs/winefs/winefs.ko] undefined! #10

YozoraHoshifuru opened this issue Sep 25, 2022 · 1 comment

Comments

@YozoraHoshifuru
Copy link

Hello!
I'd like to dynamically load WineFS, thus I ran the command make menuconfig and modified the * in the option box of DuoFS to M after running cp CONFIG_WINEFS .config and make olddefconfig.
However, when I compiled and installed the Linux kernel 5.1 in Linux-5.1/ directory, the error like this occurs:

ERROR: "sched_setaffinity" [fs/winefs/winefs.ko] undefined!
scripts/Makefile.modpost:91: recipe for target '__modpost' failed
make[1]: *** [__modpost] Error 1
Makefile:1266: recipe for target 'modules' failed
make: *** [modules] Error 2

image
image
Here are the figures showing that I have modified the * in the option box of DuoFS to M in menuconfig.
If I want to dynamically load WineFS instead of build it into the kernel, how should I modify the CONFIG_WINEFS or menuconfig?
Looking forward to your reply!
Thanks!

@rohankadekodi
Copy link
Collaborator

Hello!

If you are running WineFS on a single NUMA node, you can just comment out the sched_setaffinity() statements in WineFS and load WineFS as a module. Basically comment out these lines:

  1. https://github.com/utsaslab/WineFS/blob/main/Linux-5.1/fs/winefs/xip.c#L702
  2. https://github.com/utsaslab/WineFS/blob/main/Linux-5.1/fs/winefs/xip.c#L1159

However, if you are running WineFS on multiple NUMA nodes and want to use the NUMA affinity feature of WineFS, then it must be built-in into the linux kernel, as the sched_setaffinity() statements which can only be used by built-in modules help in migrating threads to the cores of the NUMA node where the data resides.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants