diff options
| author | Joao Marcos Costa <joaomarcos.costa@bootlin.com> | 2026-04-24 17:02:06 +0200 |
|---|---|---|
| committer | Khem Raj <khem.raj@oss.qualcomm.com> | 2026-04-24 18:39:52 -0700 |
| commit | 05191ba25b6dcf15a28dac2231bd0d2f9ab514da (patch) | |
| tree | af8a57eea6b8d4d0f7b8ff87628b6667a30b7ee6 /meta-python/recipes-devtools/python/python3-yarl_1.14.0.bb | |
| parent | 0af2c62a38d66a0790e2950a41a36f43a5eebc42 (diff) | |
| download | meta-openembedded-05191ba25b6dcf15a28dac2231bd0d2f9ab514da.tar.gz | |
memcached: drop libhugetlbfs
In Linux, memcached relies on transparent huge pages, and even if
libhugetlbfs is enabled by the PACKAGECONFIG (and detected during
do_configure, of course), it is simply not used:
root@qemuriscv64:~# ldd $(which memcached)
linux-vdso.so.1 (0x0000003fa4358000)
libevent-2.1.so.7 => /lib/libevent-2.1.so.7 (0x0000003fa42b0000)
libc.so.6 => /lib/libc.so.6 (0x0000003fa4157000)
/usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa435a000)
The main reason is the fact that the only call to a function coming from
libhugetlbfs is here:
https://github.com/memcached/memcached/blob/master/memcached.c#L4274
and getpagesizes() is only called if the #if block evaluates to true:
int ret = -1;
size_t sizes[32];
int avail = getpagesizes(sizes, 32);
(...)
/* check if transparent hugepages is compiled into the kernel */
/* RH based systems possibly uses a different path */
static const char *mm_thp_paths[] = {
"/sys/kernel/mm/transparent_hugepage/enabled",
"/sys/kernel/mm/redhat_transparent_hugepage/enabled",
NULL
};
(...)
This block relies on HAVE_MEMCNTL, which is a Solaris-specific feature.
Therefore, the dependency link between memcached and libhugetlbfs
doesn't exist in Linux.
Drop libhugetlbfs from memcached's recipe.
Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-yarl_1.14.0.bb')
0 files changed, 0 insertions, 0 deletions
