3 ms·
For finding local Linux communities, search on the net for "<your city name> linux users group". For example, here is one for London: http://gllug.org.uk http:/
by _448 4y ago
For finding local Linux communities, search on the net for "<your city name> linux users group". For example, here is one for London: http://gllug.org.uk http://gllug.org.uk
Search online for "software optimisation techniques" and you will get lot of tutorials on how to optimise software such as data structure packing, locality, cache optimization, loop unrolling etc.
For self-study, as others have mentioned, keep the manuals of CPU as well as network devices you are using handy. It will help you understand the low level code in the kernel as well as the related drivers.
For getting started with Linux kernel development, start at these places:
https://kernelnewbies.org https://kernelnewbies.org
https://www.linuxfromscratch.org https://www.linuxfromscratch.org
https://lwn.net/Kernel/LDD3 https://lwn.net/Kernel/LDD3 (outdated but still helps build your frame of mind navigating the device driver code, in your case network drivers)
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
https://beej.us/guide/bgnet https://beej.us/guide/bgnet
https://man7.org/training/download/Linux_System_Programming_Essentials-mkerrisk_man7.org.pdf https://man7.org/training/download/Linux_System_Programming_...
https://igm.univ-mlv.fr/~yahya/progsys/linux.pdf https://igm.univ-mlv.fr/~yahya/progsys/linux.pdf
https://users.cs.cf.ac.uk/Dave.Marshall/C https://users.cs.cf.ac.uk/Dave.Marshall/C
https://www.dpdk.org https://www.dpdk.org
For some fun way of understanding about computer architecture in general, have a look at:
https://www.coursera.org/learn/build-a-computer https://www.coursera.org/learn/build-a-computer
https://www.coursera.org/learn/nand2tetris2 https://www.coursera.org/learn/nand2tetris2
- abattleofwords 4y agoThanks! I'll look for local linux users group
- bobmcn 4y agoI know you mentioned C in your original question, but some of the techniques discussed in low latency presentations at C++ conferences will be broadly applicable. Many are available on line. I have recently watched presentations by Timur Doumler and Fedor Pikus from the last few years that would probably close to what you are looking for.