Add getcpu system call support for getting a NUMA node of the current thread#1575
Add getcpu system call support for getting a NUMA node of the current thread#1575Eugene-Usachev wants to merge 4 commits intobytecodealliance:mainfrom
getcpu system call support for getting a NUMA node of the current thread#1575Conversation
| /// [Linux]: https://man7.org/linux/man-pages/man2/getcpu.2.html | ||
| #[cfg(linux_kernel)] | ||
| #[inline] | ||
| pub fn getcpu() -> (usize, usize) { |
There was a problem hiding this comment.
According to the Linux docs, the values written by getcpu have type unsigned int.
int getcpu(unsigned int *_Nullable cpu, unsigned int *_Nullable node);
Would it be better to reflect them here as u32, rather than usize?
I see that sched_getcpu already returns usize, but that appears to be an error.
There was a problem hiding this comment.
I tried to do the same as sched_getcpu. To be honest, I am not sure what users prefer more here. I use numa_node: usize in my code, but I can't say everyone does it. If you want me to change it I can do it but I think it is not important.
|
Hi @sunfishcode, thanks for the previous feedback. I have addressed most of the points (and resolved those conversations), but I had a question regarding some of them which I left open in the code comments. Could you please take another look when you have a moment? |
Not much time ago I needed to get a NUMA node of the current thread. Linux provides the
getcpusystem call for it. But I did not find any Rust library that provides this function. I read this repository code, and I like what you are doing, so I want to help you to extend the functionality of this library.I implemented the
getcpusyscall for Linux only. Also, I develop with WSL, which adds \r\n at the end of lines, so I patched tests for not reading the end of lines.