Eric Barton
2006-May-19 07:36 UTC
[Lustre-discuss] Lustre Kopenibnal support for 2.6.12 kernel + OpenIB 1.8.0
Hi,> -----Original Message----- > From: lustre-discuss-admin@lists.clusterfs.com > [mailto:lustre-discuss-admin@lists.clusterfs.com]On Behalf Of Kumaran > Rajaram > Sent: Saturday, September 24, 2005 1:00 AM > To: lustre-discuss@clusterfs.com > Subject: [Lustre-discuss] Lustre Kopenibnal support for > 2.6.12 kernel + > OpenIB 1.8.0 > > > Hi, > > I got Lustre 1.4.5 to build against 2.6.12.2 kernel + OpenIB > 1.8.0. Everything seems to work fine when I use ksocknal. > I had to make couple of changes to the openibnal layer > (attached) to build Lustre. Please let me know if the changes > are ok and does not violate any semantics.All fine :)> When I use kopenibnal and try to load llite, I get the following > error in syslog: > > > Sep 23 23:46:26 n04 kernel: kopenibnal: Unknown symbol sock_alloc > > Googling seem to indicate "sock_alloc" has become static in > 2.6.10. The site below cites a patch to fix this. > https://www.redhat.com/archives/linux-cluster/2004-December/ms > g00169.html > > Any recommendations on alternative functions (instead of > sock_alloc) to use in openibnal ? This saves the time of > recompiling the kernel + associated modules.Dang! That''s a real pain. Sorry, but I can''t recommend an alternative.
Kumaran Rajaram
2006-May-19 07:36 UTC
[Lustre-discuss] Lustre Kopenibnal support for 2.6.12 kernel + OpenIB 1.8.0
This is a MIME message. If you are reading this text, you may want to consider changing to a mail reader or gateway that understands how to properly handle MIME multipart messages. --=__Part84A6F313.1__Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable>>>Eric Barton <eeb@bartonsoftware.com> 09/27/05 2:20 am >>>>Sep 23 23:46:26 n04 kernel: kopenibnal: Unknown symbol sock_alloc > >Googling seem to indicate sock_alloc has become static in >2.6.10. The site below cites a patch to fix this. >https://www.redhat.com/archives/linux-cluster/2004-December/ms >g00169.html > >Any recommendations on alternative functions (instead of >sock_alloc) to use in openibnal ? This saves the time of >recompiling the kernel + associated modules.> Dang! That''s a real pain. Sorry, but I can''t recommend an alternative.Applied the kernel patch which removed the static definition of sock_alloc. Lustre seems to work fine now, using Openibnal.=20 =20 Cheers,=20 -Kums=20 --=__Part84A6F313.1__Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Description: HTML <html> <head> <style type=3D"text/css"> <!-- body { margin-right: 4px; margin-bottom: 1px; margin-top: 4px; margin-left: 4px; font-variant: normal; line-height: normal } --> </style> =20 </head> <body style=3D"margin-right: 4px; margin-bottom: 1px; margin-top: 4px; margin-left: 4px"> <DIV> >>>"Eric Barton" <eeb@bartonsoftware.com> 09/27/05 2:20 am >>><br><br>>Sep 23 23:46:26 n04 kernel: kopenibnal: Unknown symbol sock_alloc<br>><br>>Googling seem to indicate "sock_alloc" has become static in<br>>2.6.10. The site below cites a patch to fix this.<br>>https://www.redhat.com/archives/linux-cluster/2004-December/ms<br>>g00169.html<br>><br>>Any recommendations on alternative functions (instead of<br>>sock_alloc) to use in openibnal  ? This saves the time of<br>>recompiling the kernel + associated modules.<br><br>> Dang!  That's a real pain.  Sorry, but I can't recommend an alternative.<br><br>Applied the kernel patch which removed the static definition of sock_alloc. Lustre seems to work fine now, using Openibnal. </DIV> <DIV> </DIV> <DIV>Cheers, </DIV> <DIV>-Kums </DIV> </body> </html> --=__Part84A6F313.1__=--
Kumaran Rajaram
2006-May-19 07:36 UTC
[Lustre-discuss] Lustre Kopenibnal support for 2.6.12 kernel + OpenIB 1.8.0
This is a MIME message. If you are reading this text, you may want to consider changing to a mail reader or gateway that understands how to properly handle MIME multipart messages. --=__Part65471FEC.0__Content-Type: multipart/alternative; boundary="=__Part65471FEC.1__=" --=__Part65471FEC.1__Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi,=20 =20 I got Lustre 1.4.5 to build against 2.6.12.2 kernel + OpenIB 1.8.0. Everything seems to work fine when I use ksocknal.=20 I had to make couple of changes to the openibnal layer (attached) to build Lustre. Please let me know if the changes are ok and does not violate any semantics. When I use kopenibnal and try to load llite, I get the following error in syslog:=20 =20 =20 Sep 23 23:46:26 n04 kernel: kopenibnal: Unknown symbol sock_alloc=20 =20 Googling seem to indicate sock_alloc has become static in 2.6.10. The site below cites a patch to fix this. https://www.redhat.com/archives/linux-cluster/2004-December/msg00169.html=20 =20 Any recommendations on alternative functions (instead of sock_alloc) to use in openibnal ? This saves the time of recompiling the kernel + associated modules.=20 =20 Regards,=20 -Kums=20 --=__Part65471FEC.1__Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Description: HTML <html> <head> <style type=3D"text/css"> <!-- body { line-height: normal; margin-right: 4px; margin-bottom: 1px; margin-top: 4px; margin-left: 4px; font-variant: normal } --> </style> =20 </head> <body> <DIV> Hi, </DIV> <DIV> </DIV> <DIV> I got Lustre 1.4.5 to build against 2.6.12.2 kernel + OpenIB 1.8.0. Everything seems to work fine when I use ksocknal.=20 </DIV> <DIV> I had to make couple of changes to the openibnal layer (attached) to build Lustre. Please let me know if the changes are ok and does not violate any semantics. When I use kopenibnal and try to load llite, I get the following error in syslog: </DIV> <DIV> </DIV> <DIV> </DIV> <DIV> Sep 23 23:46:26 n04 kernel: kopenibnal: Unknown symbol sock_alloc </DIV> <DIV> </DIV> <DIV> Googling seem to indicate "sock_alloc" has become static in 2.6.10. The site below cites a patch to fix this. <a href=3D"https://www.redhat.com/archives/linux-cluster/2004-December/msg00169.html"><u><font color=3D"#0000ff"><i>https://www.redhat.com/archives/linux-cluster/2004-December/msg00169.html</i></font></u></a> </DIV> <DIV> </DIV> <DIV> Any recommendations on alternative functions (instead of sock_alloc) to use in openibnal ? This saves the time of recompiling the kernel + associated modules. </DIV> <DIV> </DIV> <DIV> Regards, </DIV> <DIV> -Kums=20 </DIV> </body> </html> --=__Part65471FEC.1__=-- --=__Part65471FEC.0__Content-Type: text/plain; name="lustre-1.4.5_linux-2.6.12_OpenIB-1.8.0_openibnal_changes.txt" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="lustre-1.4.5_linux-2.6.12_OpenIB-1.8.0_openibnal_changes.txt" n04:/usr/src/lustre-1.4.5/portals/knals/openibnal # diff -Naur openibnal_cb.c openibnal_cb_bak.c --- openibnal_cb.c 2005-09-07 11:48:23.000000000 -0700 +++ openibnal_cb_bak.c 2005-09-23 23:53:40.000000000 -0700 @@ -266,7 +266,7 @@ if (conn->ibc_state != IBNAL_CONN_ESTABLISHED) rc = -ECONNABORTED; else - rc = ib_receive (conn->ibc_qp, &rx->rx_sp, 1, NULL); + rc = ib_receive (conn->ibc_qp, &rx->rx_sp, 1); if (rc == 0) { if (do_credits) { @@ -747,7 +747,7 @@ tx->tx_status = 0; /* Driver only accepts 1 item at a time */ for (i = 0; i < tx->tx_nsp; i++) { - rc = ib_send (conn->ibc_qp, &tx->tx_sp[i], 1, NULL); + rc = ib_send (conn->ibc_qp, &tx->tx_sp[i], 1); if (rc != 0) break; nwork++; -------------------------------------------------------------------------------------------------------- n04:/usr/src/lustre-1.4.5/portals/knals/openibnal # diff -Naur openibnal.c openibnal_bak.c --- openibnal.c 2005-09-23 22:33:30.000000000 -0700 +++ openibnal_bak.c 2005-09-23 22:21:14.000000000 -0700 @@ -821,9 +821,15 @@ } } +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,8) +int +kibnal_listener_procint(ctl_table *table, int write, struct file *filp, + void *buffer, size_t *lenp) +#else int kibnal_listener_procint(ctl_table *table, int write, struct file *filp, void *buffer, size_t *lenp, loff_t *ppos) +#endif { int *tunable = (int *)table->data; int old_val; @@ -839,7 +845,11 @@ tunable == &kibnal_tunables.kib_backlog); old_val = *tunable; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,8) + rc = proc_dointvec(table, write, filp, buffer, lenp); +#else rc = proc_dointvec(table, write, filp, buffer, lenp, ppos); +#endif if (write && (*tunable != old_val || kibnal_data.kib_listener_sock == NULL)) { -------------------------------------------------------------------------------------------------------------- n04:/usr/src/lustre-1.4.5/portals/knals/openibnal # diff -Naur openibnal.h openibnal_bak.h --- openibnal.h 2005-09-23 22:36:02.000000000 -0700 +++ openibnal_bak.h 2005-09-23 22:35:06.000000000 -0700 @@ -516,7 +516,7 @@ extern void kibnal_free_acceptsock (kib_acceptsock_t *as); extern int kibnal_listener_procint(ctl_table *table, int write, struct file *filp, void *buffer, - size_t *lenp, loff_t *ppos); + size_t *lenp); extern kib_peer_t *kibnal_create_peer (ptl_nid_t nid); extern void kibnal_put_peer (kib_peer_t *peer); extern int kibnal_del_peer (ptl_nid_t nid, int single_share); --=__Part65471FEC.0__=--