Details
- Reviewers
emaste lwhsu kevans - Commits
- rG97ecf34a94dc: memfd_test: skip hugetlb testcase when large page requests are not supported
rGf6ca004c5545: memfd_test: skip hugetlb testcase when large page requests are not supported
rG64b053f879a8: memfd_test: skip hugetlb testcase when large page requests are not supported
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
| tests/sys/posixshm/memfd_test.c | ||
|---|---|---|
| 299 | atf_tc_skip makes more sense here than letting the subsequent requirement fail, since the exact size doesn't matter when it's ENOTTY that we got back. I'd probably also probably word it as "large page requests are not ...", since the platform *does* seem to support implicit promotion. | |
Applied feedback. I'll change the commit msg shortly to reflect that it's a skip now.
Yeah, that's fine. Technically there's some utility in letting it run to the end, but that logic is broken because pscnt > 1 but we can't create large page shmfds. Let's ship the skip and if I can find a good way to test it on such a system, I'll fix that logic to make sure that it's working right.
I'm a bit confused: there shouldn't be any problem with creating largepages on riscv, pmap_enter() supports psind > 0. Where exactly is ENOTTY coming from?
My assumption is that it was https://elixir.bootlin.com/freebsd/v15.0/source/sys/kern/uipc_shm.c#L1169, riscv defines it to 0 because it doesn't support non-transparent creation of superpages, apparently:
https://elixir.bootlin.com/freebsd/v15.0/source/sys/riscv/include/vmparam.h#L253
Ah, ok, I forgot that largepage support requires an extra extension to pmap_enter(). Sorry for the noise.