Compiling GM 1.5.2.1 with Redhat 2.4.20 kernel
Wei Deng <[email protected]> Mon, 23 Jun 2003 15:16:19 -0500
| Newsgroups | gmane.network.myrinet.general |
|---|---|
| Message-ID | <[email protected]> |
We have some linux clusters with the old myrinet interface PCI32C, the latest GM source available for us is 1.5.2.1. We have compiled it fine with all of the redhat 2.4.9, 2.4.18 kernels in our RedHat distributions (both 7.x and 8.0). However, recently RedHat announced kernel security upgrade/bug-fix and brought the kernel version in sync with that of RedHat 9, i.e. redhat kernel 2.4.20, which broke a few of our custom kernel patches. GM is one of them. At first we got a compiling error of function call 'remap_page_range()' in drivers/linux/gm/gm_arch.c, after checking with the kernel source tree, we quickly fixed the problem by adding 'vma' as the first parameter and generated a gm kernel module. However, when we load the module in the new kernel, we kept getting the 'unresolved symbol' problem. We did follow the guidance in FAQ and built/linked GM source code on a Linux box that matches the OS version of the machine on which we will be running, and confirmed the running kernel matches the kernel source tree. Unlike the unresolved symbols described in the FAQ (all having an _Rsmp suffix), our only missing symbol is 'pte_offset'. We searched a couple of documents, FAQ and mailing lists without any result. Finally we found out the solution by replacing pte_offset() calls in drivers/linux/gm/gm_arch.c and drivers/linux/gm/gm_arch_fork.c with pte_offset_kernel(). The resultant gm kernel module is tested to work on our clusters (redhat kernel 2.4.20-18.7, 2.4.20-18.8). Hope this information can help people who still use the old myrinet interface, and consider upgrading to redhat kernel 2.4.20 (either using security upgrade in RedHat 7.x and 8.0, or RedHat 9). If anyone need a patch for the GM source, I can send you a copy via email. Thanks. -- Wei Deng Pablo Research Group Department of Computer Science University of Illinois 217-333-9052