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