[Pkg-ofed-commits] r545 - in /branches/ofed-1.5lenny/libnes/branches/upstream/cu...
gmpc-guest at alioth.debian.org
gmpc-guest at alioth.debian.org
Fri Jan 15 13:56:19 UTC 2010
Author: gmpc-guest
Date: Fri Jan 15 13:56:17 2010
New Revision: 545
URL: http://svn.debian.org/wsvn/pkg-ofed/?sc=1&rev=545
Log:
[svn-upgrade] Integrating new upstream version, libnes (1.0.0)
Modified:
branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.0
branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.1
branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.0
branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.1
branches/ofed-1.5lenny/libnes/branches/upstream/current/configure
branches/ofed-1.5lenny/libnes/branches/upstream/current/configure.in
branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec
branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec.in
branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.c
branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.h
branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_uverbs.c
Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.0
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.0?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.0 (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.0 Fri Jan 15 13:56:17 2010
@@ -1,8 +1,8 @@
@%:@! /bin/sh
@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.59 for libnes 0.6.
+@%:@ Generated by GNU Autoconf 2.59 for libnes 1.0.0.
@%:@
-@%:@ Report bugs to <general at lists.openfabrics.org>.
+@%:@ Report bugs to <linux-rdma at vger.kernel.org>.
@%:@
@%:@ Copyright (C) 2003 Free Software Foundation, Inc.
@%:@ This configure script is free software; the Free Software Foundation
@@ -423,9 +423,9 @@
# Identity of this package.
PACKAGE_NAME='libnes'
PACKAGE_TARNAME='libnes'
-PACKAGE_VERSION='0.6'
-PACKAGE_STRING='libnes 0.6'
-PACKAGE_BUGREPORT='general at lists.openfabrics.org'
+PACKAGE_VERSION='1.0.0'
+PACKAGE_STRING='libnes 1.0.0'
+PACKAGE_BUGREPORT='linux-rdma at vger.kernel.org'
ac_unique_file="src/nes_umain.h"
# Factoring default headers for most tests.
@@ -954,7 +954,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libnes 0.6 to adapt to many kinds of systems.
+\`configure' configures libnes 1.0.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1020,7 +1020,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libnes 0.6:";;
+ short | recursive ) echo "Configuration of libnes 1.0.0:";;
esac
cat <<\_ACEOF
@@ -1064,7 +1064,7 @@
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to <general at lists.openfabrics.org>.
+Report bugs to <linux-rdma at vger.kernel.org>.
_ACEOF
fi
@@ -1160,7 +1160,7 @@
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-libnes configure 0.6
+libnes configure 1.0.0
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1174,7 +1174,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libnes $as_me 0.6, which was
+It was created by libnes $as_me 1.0.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1820,7 +1820,7 @@
# Define the identity of the package.
PACKAGE=libnes
- VERSION=0.6
+ VERSION=1.0.0
cat >>confdefs.h <<_ACEOF
@@ -4441,9 +4441,9 @@
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
(
cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
_ASBOX
) |
sed "s/^/$as_me: WARNING: /" >&2
@@ -19623,9 +19623,9 @@
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
(
cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
_ASBOX
) |
sed "s/^/$as_me: WARNING: /" >&2
@@ -19771,9 +19771,9 @@
echo "$as_me: WARNING: infiniband/driver.h: in the future, the compiler will take precedence" >&2;}
(
cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
_ASBOX
) |
sed "s/^/$as_me: WARNING: /" >&2
@@ -21020,7 +21020,7 @@
} >&5
cat >&5 <<_CSEOF
-This file was extended by libnes $as_me 0.6, which was
+This file was extended by libnes $as_me 1.0.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21083,7 +21083,7 @@
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-libnes config.status 0.6
+libnes config.status 1.0.0
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.1
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.1?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.1 (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/output.1 Fri Jan 15 13:56:17 2010
@@ -1,8 +1,8 @@
@%:@! /bin/sh
@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.59 for libnes 0.6.
+@%:@ Generated by GNU Autoconf 2.59 for libnes 1.0.0.
@%:@
-@%:@ Report bugs to <general at lists.openfabrics.org>.
+@%:@ Report bugs to <linux-rdma at vger.kernel.org>.
@%:@
@%:@ Copyright (C) 2003 Free Software Foundation, Inc.
@%:@ This configure script is free software; the Free Software Foundation
@@ -423,9 +423,9 @@
# Identity of this package.
PACKAGE_NAME='libnes'
PACKAGE_TARNAME='libnes'
-PACKAGE_VERSION='0.6'
-PACKAGE_STRING='libnes 0.6'
-PACKAGE_BUGREPORT='general at lists.openfabrics.org'
+PACKAGE_VERSION='1.0.0'
+PACKAGE_STRING='libnes 1.0.0'
+PACKAGE_BUGREPORT='linux-rdma at vger.kernel.org'
ac_unique_file="src/nes_umain.h"
# Factoring default headers for most tests.
@@ -954,7 +954,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libnes 0.6 to adapt to many kinds of systems.
+\`configure' configures libnes 1.0.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1020,7 +1020,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libnes 0.6:";;
+ short | recursive ) echo "Configuration of libnes 1.0.0:";;
esac
cat <<\_ACEOF
@@ -1064,7 +1064,7 @@
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to <general at lists.openfabrics.org>.
+Report bugs to <linux-rdma at vger.kernel.org>.
_ACEOF
fi
@@ -1160,7 +1160,7 @@
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-libnes configure 0.6
+libnes configure 1.0.0
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1174,7 +1174,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libnes $as_me 0.6, which was
+It was created by libnes $as_me 1.0.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1820,7 +1820,7 @@
# Define the identity of the package.
PACKAGE=libnes
- VERSION=0.6
+ VERSION=1.0.0
cat >>confdefs.h <<_ACEOF
@@ -4441,9 +4441,9 @@
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
(
cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
_ASBOX
) |
sed "s/^/$as_me: WARNING: /" >&2
@@ -19611,9 +19611,9 @@
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
(
cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
_ASBOX
) |
sed "s/^/$as_me: WARNING: /" >&2
@@ -19759,9 +19759,9 @@
echo "$as_me: WARNING: infiniband/driver.h: in the future, the compiler will take precedence" >&2;}
(
cat <<\_ASBOX
-@%:@@%:@ -------------------------------------------- @%:@@%:@
-@%:@@%:@ Report this to general at lists.openfabrics.org @%:@@%:@
-@%:@@%:@ -------------------------------------------- @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
+@%:@@%:@ Report this to linux-rdma at vger.kernel.org @%:@@%:@
+@%:@@%:@ ----------------------------------------- @%:@@%:@
_ASBOX
) |
sed "s/^/$as_me: WARNING: /" >&2
@@ -21008,7 +21008,7 @@
} >&5
cat >&5 <<_CSEOF
-This file was extended by libnes $as_me 0.6, which was
+This file was extended by libnes $as_me 1.0.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21071,7 +21071,7 @@
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-libnes config.status 0.6
+libnes config.status 1.0.0
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.0
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.0?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.0 (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.0 Fri Jan 15 13:56:17 2010
@@ -6447,7 +6447,7 @@
AC_SUBST([am__tar])
AC_SUBST([am__untar])
])
-m4trace:configure.in:4: -1- AC_INIT([libnes], [0.6], [general at lists.openfabrics.org])
+m4trace:configure.in:4: -1- AC_INIT([libnes], [1.0.0], [linux-rdma at vger.kernel.org])
m4trace:configure.in:4: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.in:4: -1- m4_pattern_forbid([_AC_])
m4trace:configure.in:4: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
@@ -6506,7 +6506,7 @@
You should run autoupdate.], [/usr/share/aclocal-1.9/header.m4:12: AM_CONFIG_HEADER is expanded from...
configure.in:7: the top level])
m4trace:configure.in:7: -1- AC_CONFIG_HEADERS([config.h])
-m4trace:configure.in:8: -1- AM_INIT_AUTOMAKE([libnes], [0.6])
+m4trace:configure.in:8: -1- AM_INIT_AUTOMAKE([libnes], [1.0.0])
m4trace:configure.in:8: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
m4trace:configure.in:8: -1- AM_SET_CURRENT_AUTOMAKE_VERSION
m4trace:configure.in:8: -1- AM_AUTOMAKE_VERSION([1.9.6])
@@ -6516,7 +6516,7 @@
m4trace:configure.in:8: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.in:8: -1- AC_SUBST([CYGPATH_W])
m4trace:configure.in:8: -1- AC_SUBST([PACKAGE], [libnes])
-m4trace:configure.in:8: -1- AC_SUBST([VERSION], [0.6])
+m4trace:configure.in:8: -1- AC_SUBST([VERSION], [1.0.0])
m4trace:configure.in:8: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
m4trace:configure.in:8: -2- _AM_MANGLE_OPTION([no-define])
Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.1
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.1?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.1 (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/autom4te.cache/traces.1 Fri Jan 15 13:56:17 2010
@@ -1,4 +1,4 @@
-m4trace:configure.in:4: -1- AC_INIT([libnes], [0.6], [general at lists.openfabrics.org])
+m4trace:configure.in:4: -1- AC_INIT([libnes], [1.0.0], [linux-rdma at vger.kernel.org])
m4trace:configure.in:4: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.in:4: -1- m4_pattern_forbid([_AC_])
m4trace:configure.in:4: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
@@ -56,7 +56,7 @@
You should run autoupdate.], [aclocal.m4:6758: AM_CONFIG_HEADER is expanded from...
configure.in:7: the top level])
m4trace:configure.in:7: -1- AC_CONFIG_HEADERS([config.h])
-m4trace:configure.in:8: -1- AM_INIT_AUTOMAKE([libnes], [0.6])
+m4trace:configure.in:8: -1- AM_INIT_AUTOMAKE([libnes], [1.0.0])
m4trace:configure.in:8: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
m4trace:configure.in:8: -1- AM_AUTOMAKE_VERSION([1.9.6])
m4trace:configure.in:8: -1- AC_PROG_INSTALL
@@ -65,7 +65,7 @@
m4trace:configure.in:8: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.in:8: -1- AC_SUBST([CYGPATH_W])
m4trace:configure.in:8: -1- AC_SUBST([PACKAGE], [libnes])
-m4trace:configure.in:8: -1- AC_SUBST([VERSION], [0.6])
+m4trace:configure.in:8: -1- AC_SUBST([VERSION], [1.0.0])
m4trace:configure.in:8: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
m4trace:configure.in:8: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
#undef PACKAGE])
Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/configure
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/configure?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/configure (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/configure Fri Jan 15 13:56:17 2010
@@ -1,8 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for libnes 0.6.
+# Generated by GNU Autoconf 2.59 for libnes 1.0.0.
#
-# Report bugs to <general at lists.openfabrics.org>.
+# Report bugs to <linux-rdma at vger.kernel.org>.
#
# Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
@@ -423,9 +423,9 @@
# Identity of this package.
PACKAGE_NAME='libnes'
PACKAGE_TARNAME='libnes'
-PACKAGE_VERSION='0.6'
-PACKAGE_STRING='libnes 0.6'
-PACKAGE_BUGREPORT='general at lists.openfabrics.org'
+PACKAGE_VERSION='1.0.0'
+PACKAGE_STRING='libnes 1.0.0'
+PACKAGE_BUGREPORT='linux-rdma at vger.kernel.org'
ac_unique_file="src/nes_umain.h"
# Factoring default headers for most tests.
@@ -954,7 +954,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libnes 0.6 to adapt to many kinds of systems.
+\`configure' configures libnes 1.0.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1020,7 +1020,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libnes 0.6:";;
+ short | recursive ) echo "Configuration of libnes 1.0.0:";;
esac
cat <<\_ACEOF
@@ -1064,7 +1064,7 @@
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to <general at lists.openfabrics.org>.
+Report bugs to <linux-rdma at vger.kernel.org>.
_ACEOF
fi
@@ -1160,7 +1160,7 @@
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-libnes configure 0.6
+libnes configure 1.0.0
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1174,7 +1174,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libnes $as_me 0.6, which was
+It was created by libnes $as_me 1.0.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1820,7 +1820,7 @@
# Define the identity of the package.
PACKAGE=libnes
- VERSION=0.6
+ VERSION=1.0.0
cat >>confdefs.h <<_ACEOF
@@ -4441,9 +4441,9 @@
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
(
cat <<\_ASBOX
-## -------------------------------------------- ##
-## Report this to general at lists.openfabrics.org ##
-## -------------------------------------------- ##
+## ----------------------------------------- ##
+## Report this to linux-rdma at vger.kernel.org ##
+## ----------------------------------------- ##
_ASBOX
) |
sed "s/^/$as_me: WARNING: /" >&2
@@ -19611,9 +19611,9 @@
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
(
cat <<\_ASBOX
-## -------------------------------------------- ##
-## Report this to general at lists.openfabrics.org ##
-## -------------------------------------------- ##
+## ----------------------------------------- ##
+## Report this to linux-rdma at vger.kernel.org ##
+## ----------------------------------------- ##
_ASBOX
) |
sed "s/^/$as_me: WARNING: /" >&2
@@ -19759,9 +19759,9 @@
echo "$as_me: WARNING: infiniband/driver.h: in the future, the compiler will take precedence" >&2;}
(
cat <<\_ASBOX
-## -------------------------------------------- ##
-## Report this to general at lists.openfabrics.org ##
-## -------------------------------------------- ##
+## ----------------------------------------- ##
+## Report this to linux-rdma at vger.kernel.org ##
+## ----------------------------------------- ##
_ASBOX
) |
sed "s/^/$as_me: WARNING: /" >&2
@@ -21008,7 +21008,7 @@
} >&5
cat >&5 <<_CSEOF
-This file was extended by libnes $as_me 0.6, which was
+This file was extended by libnes $as_me 1.0.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21071,7 +21071,7 @@
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-libnes config.status 0.6
+libnes config.status 1.0.0
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/configure.in
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/configure.in?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/configure.in (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/configure.in Fri Jan 15 13:56:17 2010
@@ -1,11 +1,11 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.57)
-AC_INIT(libnes, 0.6, general at lists.openfabrics.org)
+AC_INIT(libnes, 1.0.0, linux-rdma at vger.kernel.org)
AC_CONFIG_SRCDIR([src/nes_umain.h])
AC_CONFIG_AUX_DIR(config)
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(libnes, 0.6)
+AM_INIT_AUTOMAKE(libnes, 1.0.0)
AM_PROG_LIBTOOL
AC_ARG_ENABLE(libcheck, [ --disable-libcheck do not test for the presence of ib libraries],
Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec Fri Jan 15 13:56:17 2010
@@ -1,12 +1,12 @@
Name: libnes
-Version: 0.6
-Release: 1.ofed1.4.1
+Version: 1.0.0
+Release: 1
Summary: NetEffect Ethernet Server Cluster Adapter Userspace Library
Group: System Environment/Libraries
License: GPL/BSD
Url: http://www.openfabrics.org/
-Source: http://www.openfabrics.org/downloads/libnes-0.6.tar.gz
+Source: http://www.openfabrics.org/downloads/libnes-1.0.0.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libibverbs-devel
@@ -25,7 +25,7 @@
application, which may be useful for debugging.
%prep
-%setup -q -n %{name}-0.6
+%setup -q -n %{name}-1.0.0
%build
%configure
@@ -51,6 +51,14 @@
%{_libdir}/libnes*.a
%changelog
+* Tue Dec 8 2009 Chien Tung <chien.tin.tung at intel.com> - 1.0.0
+- Update for OFED 1.5 RC4.
+- Sync up with libibverbs 1.1.3
+- Fix head pointer and fence flag for nes_upost_send and nes_upost_recv
+
+* Wed Oct 14 2009 Chien Tung <chien.tin.tung at intel.com> - 0.9.0
+- Updated for OFED-1.5 RC2
+
* Wed Apr 15 2009 Chien Tung <chien.tin.tung at intel.com> - 0.6
- Updated for OFED-1.4.1
Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec.in
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec.in?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec.in (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/libnes.spec.in Fri Jan 15 13:56:17 2010
@@ -6,7 +6,7 @@
Group: System Environment/Libraries
License: GPL/BSD
Url: http://www.openfabrics.org/
-Source: http://www.openfabrics.org/downloads/nes/libnes-0.6.tar.gz
+Source: http://www.openfabrics.org/downloads/nes/libnes-1.0.0.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libibverbs-devel
@@ -51,6 +51,14 @@
%{_libdir}/libnes*.a
%changelog
+* Tue Dec 8 2009 Chien Tung <chien.tin.tung at intel.com> - 1.0.0
+- Update for OFED 1.5 RC4.
+- Sync up with libibverbs 1.1.3
+- Fix head pointer and fence flag for nes_upost_send and nes_upost_recv
+
+* Wed Oct 14 2009 Chien Tung <chien.tin.tung at intel.com> - 0.9.0
+- Updated for OFED-1.5 RC2
+
* Wed Apr 15 2009 Chien Tung <chien.tin.tung at intel.com> - 0.6
- Updated for OFED-1.4.1
Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.c
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.c?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.c (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.c Fri Jan 15 13:56:17 2010
@@ -95,7 +95,7 @@
.destroy_srq = NULL,
.post_srq_recv = NULL,
.create_qp = nes_ucreate_qp,
- .query_qp = NULL,
+ .query_qp = nes_uquery_qp,
.modify_qp = nes_umodify_qp,
.destroy_qp = nes_udestroy_qp,
.post_send = nes_upost_send,
@@ -104,7 +104,7 @@
.destroy_ah = nes_udestroy_ah,
.attach_mcast = nes_uattach_mcast,
.detach_mcast = nes_udetach_mcast,
- .async_event = NULL
+ .async_event = nes_async_event
};
Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.h
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.h?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.h (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_umain.h Fri Jan 15 13:56:17 2010
@@ -199,6 +199,15 @@
NES_IWARP_SQ_OP_NOP = 12,
};
+enum nes_iwarp_cqe_major_code {
+ NES_IWARP_CQE_MAJOR_FLUSH = 1,
+ NES_IWARP_CQE_MAJOR_DRV = 0x8000
+};
+
+enum nes_iwarp_cqe_minor_code {
+ NES_IWARP_CQE_MINOR_FLUSH = 1
+};
+
struct nes_hw_qp_wqe {
uint32_t wqe_words[32];
};
@@ -257,6 +266,8 @@
struct nes_hw_qp_wqe volatile *sq_vbase;
struct nes_hw_qp_wqe volatile *rq_vbase;
uint32_t qp_id;
+ struct nes_ucq *send_cq;
+ struct nes_ucq *recv_cq;
struct ibv_mr mr;
uint32_t nes_drv_opt;
pthread_spinlock_t lock;
@@ -264,11 +275,13 @@
uint16_t sq_head;
uint16_t sq_tail;
uint16_t sq_size;
+ uint16_t sq_sig_all;
uint16_t rq_db_index;
uint16_t rq_head;
uint16_t rq_tail;
uint16_t rq_size;
uint16_t mapping;
+ uint16_t qperr;
uint16_t rsvd;
};
@@ -310,7 +323,7 @@
int nes_uquery_port(struct ibv_context *, uint8_t, struct ibv_port_attr *);
struct ibv_pd *nes_ualloc_pd(struct ibv_context *);
int nes_ufree_pd(struct ibv_pd *);
-struct ibv_mr *nes_ureg_mr(struct ibv_pd *, void *, size_t, enum ibv_access_flags);
+struct ibv_mr *nes_ureg_mr(struct ibv_pd *, void *, size_t, int);
int nes_udereg_mr(struct ibv_mr *);
struct ibv_cq *nes_ucreate_cq(struct ibv_context *, int, struct ibv_comp_channel *, int);
int nes_uresize_cq(struct ibv_cq *, int);
@@ -318,18 +331,21 @@
int nes_upoll_cq(struct ibv_cq *, int, struct ibv_wc *);
int nes_uarm_cq(struct ibv_cq *, int);
struct ibv_srq *nes_ucreate_srq(struct ibv_pd *, struct ibv_srq_init_attr *);
-int nes_umodify_srq(struct ibv_srq *, struct ibv_srq_attr *, enum ibv_srq_attr_mask);
+int nes_umodify_srq(struct ibv_srq *, struct ibv_srq_attr *, int);
int nes_udestroy_srq(struct ibv_srq *);
int nes_upost_srq_recv(struct ibv_srq *, struct ibv_recv_wr *, struct ibv_recv_wr **);
struct ibv_qp *nes_ucreate_qp(struct ibv_pd *, struct ibv_qp_init_attr *);
-int nes_umodify_qp(struct ibv_qp *, struct ibv_qp_attr *, enum ibv_qp_attr_mask);
+int nes_uquery_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr,
+ int, struct ibv_qp_init_attr *init_attr);
+int nes_umodify_qp(struct ibv_qp *, struct ibv_qp_attr *, int);
int nes_udestroy_qp(struct ibv_qp *);
int nes_upost_send(struct ibv_qp *, struct ibv_send_wr *, struct ibv_send_wr **);
int nes_upost_recv(struct ibv_qp *, struct ibv_recv_wr *, struct ibv_recv_wr **);
struct ibv_ah *nes_ucreate_ah(struct ibv_pd *, struct ibv_ah_attr *);
int nes_udestroy_ah(struct ibv_ah *);
-int nes_uattach_mcast(struct ibv_qp *, union ibv_gid *, uint16_t);
-int nes_udetach_mcast(struct ibv_qp *, union ibv_gid *, uint16_t);
+int nes_uattach_mcast(struct ibv_qp *, const union ibv_gid *, uint16_t);
+int nes_udetach_mcast(struct ibv_qp *, const union ibv_gid *, uint16_t);
+void nes_async_event(struct ibv_async_event *event);
#if __BYTE_ORDER == __LITTLE_ENDIAN
static inline uint32_t cpu_to_le32(uint32_t x)
Modified: branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_uverbs.c
URL: http://svn.debian.org/wsvn/pkg-ofed/branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_uverbs.c?rev=545&op=diff
==============================================================================
--- branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_uverbs.c (original)
+++ branches/ofed-1.5lenny/libnes/branches/upstream/current/src/nes_uverbs.c Fri Jan 15 13:56:17 2010
@@ -135,7 +135,7 @@
* nes_ureg_mr
*/
struct ibv_mr *nes_ureg_mr(struct ibv_pd *pd, void *addr,
- size_t length, enum ibv_access_flags access)
+ size_t length, int access)
{
struct ibv_mr *mr;
struct nes_ureg_mr cmd;
@@ -310,12 +310,14 @@
struct nes_uqp *nesuqp;
int cqe_count=0;
uint32_t head;
- uint32_t wq_tail;
uint32_t cq_size;
uint32_t wqe_index;
+ uint32_t wq_tail = 0;
struct nes_hw_cqe cqe;
uint32_t tmp;
- unsigned long u64temp;
+ uint64_t u64temp;
+ int move_cq_head = 1;
+ uint32_t err_code;
nesucq = to_nes_ucq(cq);
nesvctx = to_nes_uctx(cq->context);
@@ -326,41 +328,41 @@
cq_size = nesucq->size;
while (cqe_count<num_entries) {
- if (le32_to_cpu(nesucq->cqes[head].cqe_words[NES_CQE_OPCODE_IDX]) & NES_CQE_VALID) {
- cqe = (volatile struct nes_hw_cqe)nesucq->cqes[head];
-
+ if ((le32_to_cpu(nesucq->cqes[head].cqe_words[NES_CQE_OPCODE_IDX]) & NES_CQE_VALID) == 0)
+ break;
+
+ /* Make sure we read CQ entry contents *after* we've checked the valid bit. */
+ mb();
+
+ cqe = (volatile struct nes_hw_cqe)nesucq->cqes[head];
+
+ /* parse CQE, get completion context from WQE (either rq or sq */
+ wqe_index = le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]) & 511;
+ u64temp = ((uint64_t) (le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]))) |
+ (((uint64_t) (le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX])))<<32);
+
+ if (likely(u64temp)) {
+ nesuqp = (struct nes_uqp *)(uintptr_t)(u64temp & (~1023));
memset(entry, 0, sizeof *entry);
- /* this is for both the cqe copy and the zeroing of entry */
- mb();
-
- nesucq->cqes[head].cqe_words[NES_CQE_OPCODE_IDX] = 0;
-
- /* parse CQE, get completion context from WQE (either rq or sq */
- wqe_index = le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]) & 511;
- u64temp = ((uint64_t) (le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]))) |
- (((uint64_t) (le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX])))<<32);
- mb();
- nesuqp = *((struct nes_uqp **)&u64temp);
- mb();
- nesuqp = (struct nes_uqp *)((uintptr_t)nesuqp & (~1023));
- if (le32_to_cpu(cqe.cqe_words[NES_CQE_ERROR_CODE_IDX]) == 0) {
+ if (likely(le32_to_cpu(cqe.cqe_words[NES_CQE_ERROR_CODE_IDX]) == 0)) {
entry->status = IBV_WC_SUCCESS;
} else {
- /* TODO: other errors? */
- entry->status = IBV_WC_WR_FLUSH_ERR;
+ err_code = le32_to_cpu(cqe.cqe_words[NES_CQE_ERROR_CODE_IDX]);
+ if (NES_IWARP_CQE_MAJOR_DRV == (err_code >> 16))
+ entry->status = err_code & 0x0000ffff;
+ else
+ entry->status = IBV_WC_WR_FLUSH_ERR;
}
entry->qp_num = nesuqp->qp_id;
entry->src_qp = nesuqp->qp_id;
if (le32_to_cpu(cqe.cqe_words[NES_CQE_OPCODE_IDX]) & NES_CQE_SQ) {
/* Working on a SQ Completion*/
- wq_tail = wqe_index;
- nesuqp->sq_tail = (wqe_index+1)&(nesuqp->sq_size - 1);
- wrid = ((uint64_t) le32_to_cpu(nesuqp->sq_vbase[wq_tail].wqe_words[NES_IWARP_SQ_WQE_COMP_SCRATCH_LOW_IDX])) |
- (((uint64_t) le32_to_cpu(nesuqp->sq_vbase[wq_tail].wqe_words[NES_IWARP_SQ_WQE_COMP_SCRATCH_HIGH_IDX]))<<32);
- entry->byte_len = le32_to_cpu(nesuqp->sq_vbase[wq_tail].wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX]);
-
- switch (le32_to_cpu(nesuqp->sq_vbase[wq_tail].
+ wrid = ((uint64_t) le32_to_cpu(nesuqp->sq_vbase[wqe_index].wqe_words[NES_IWARP_SQ_WQE_COMP_SCRATCH_LOW_IDX])) |
+ (((uint64_t) le32_to_cpu(nesuqp->sq_vbase[wqe_index].wqe_words[NES_IWARP_SQ_WQE_COMP_SCRATCH_HIGH_IDX]))<<32);
+ entry->byte_len = le32_to_cpu(nesuqp->sq_vbase[wqe_index].wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX]);
+
+ switch (le32_to_cpu(nesuqp->sq_vbase[wqe_index].
wqe_words[NES_IWARP_SQ_WQE_MISC_IDX]) & 0x3f) {
case NES_IWARP_SQ_OP_RDMAW:
/* fprintf(stderr, PFX "%s: Operation = RDMA WRITE.\n",
@@ -371,7 +373,7 @@
/* fprintf(stderr, PFX "%s: Operation = RDMA READ.\n",
__FUNCTION__ ); */
entry->opcode = IBV_WC_RDMA_READ;
- entry->byte_len = le32_to_cpu(nesuqp->sq_vbase[wq_tail].
+ entry->byte_len = le32_to_cpu(nesuqp->sq_vbase[wqe_index].
wqe_words[NES_IWARP_SQ_WQE_RDMA_LENGTH_IDX]);
break;
case NES_IWARP_SQ_OP_SENDINV:
@@ -383,23 +385,37 @@
entry->opcode = IBV_WC_SEND;
break;
}
+
+ nesuqp->sq_tail = (wqe_index+1)&(nesuqp->sq_size - 1);
+ if ((entry->status != IBV_WC_SUCCESS) && (nesuqp->sq_tail != nesuqp->sq_head)) {
+ move_cq_head = 0;
+ wq_tail = nesuqp->sq_tail;
+ }
} else {
/* Working on a RQ Completion*/
- wq_tail = wqe_index;
+ entry->byte_len = le32_to_cpu(cqe.cqe_words[NES_CQE_PAYLOAD_LENGTH_IDX]);
+ wrid = ((uint64_t) le32_to_cpu(nesuqp->rq_vbase[wqe_index].wqe_words[NES_IWARP_RQ_WQE_COMP_SCRATCH_LOW_IDX])) |
+ (((uint64_t) le32_to_cpu(nesuqp->rq_vbase[wqe_index].wqe_words[NES_IWARP_RQ_WQE_COMP_SCRATCH_HIGH_IDX]))<<32);
+ entry->opcode = IBV_WC_RECV;
+
nesuqp->rq_tail = (wqe_index+1)&(nesuqp->rq_size - 1);
- entry->byte_len = le32_to_cpu(cqe.cqe_words[NES_CQE_PAYLOAD_LENGTH_IDX]);
- wrid = ((uint64_t) le32_to_cpu(nesuqp->rq_vbase[wq_tail].wqe_words[NES_IWARP_RQ_WQE_COMP_SCRATCH_LOW_IDX])) |
- (((uint64_t) le32_to_cpu(nesuqp->rq_vbase[wq_tail].wqe_words[NES_IWARP_RQ_WQE_COMP_SCRATCH_HIGH_IDX]))<<32);
- entry->opcode = IBV_WC_RECV;
+ if ((entry->status != IBV_WC_SUCCESS) && (nesuqp->rq_tail != nesuqp->rq_head)) {
+ move_cq_head = 0;
+ wq_tail = nesuqp->rq_tail;
+ }
}
+
entry->wr_id = wrid;
-
+ entry++;
+ cqe_count++;
+ }
+
+ if (move_cq_head) {
+ nesucq->cqes[head].cqe_words[NES_CQE_OPCODE_IDX] = 0;
if (++head >= cq_size)
head = 0;
- cqe_count++;
nesucq->polled_completions++;
- /* TODO: find a better number...if there is one */
if ((nesucq->polled_completions > (cq_size/2)) ||
(nesucq->polled_completions == 255)) {
if (nesvctx == NULL)
@@ -409,9 +425,16 @@
tmp = nesvctx->nesupd->udoorbell->cqe_alloc;
nesucq->polled_completions = 0;
}
- entry++;
- } else
- break;
+ } else {
+ /* Update the wqe index and set status to flush */
+ wqe_index = le32_to_cpu(cqe.cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]);
+ wqe_index = (wqe_index & (~511)) | wq_tail;
+ nesucq->cqes[head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX] =
+ cpu_to_le32(wqe_index);
+ nesucq->cqes[head].cqe_words[NES_CQE_ERROR_CODE_IDX] =
+ cpu_to_le32((NES_IWARP_CQE_MAJOR_FLUSH << 16) | NES_IWARP_CQE_MINOR_FLUSH);
+ move_cq_head = 1; /* ready for next pass */
+ }
}
if (nesucq->polled_completions) {
@@ -425,6 +448,7 @@
nesucq->head = head;
pthread_spin_unlock(&nesucq->lock);
+
return cqe_count;
}
@@ -469,8 +493,7 @@
/**
* nes_umodify_srq
*/
-int nes_umodify_srq(struct ibv_srq *srq, struct ibv_srq_attr *attr,
- enum ibv_srq_attr_mask attr_mask)
+int nes_umodify_srq(struct ibv_srq *srq, struct ibv_srq_attr *attr, int attr_mask)
{
/* fprintf(stderr, PFX "%s\n", __FUNCTION__); */
return -ENOSYS;
@@ -513,13 +536,15 @@
struct nes_uvcontext *nesvctx = to_nes_uctx(pd->context);
int ret;
- memset (&cmd, 0, sizeof(cmd) );
+ memset (&cmd, 0, sizeof(cmd) );
/* fprintf(stderr, PFX "%s entering==>\n",__FUNCTION__); */
ret = ibv_cmd_create_qp(pd, &nesuqp->ibv_qp, attr, &cmd.ibv_cmd, sizeof cmd,
&resp->ibv_resp, sizeof (struct nes_ucreate_qp_resp) );
if (ret)
return 0;
+ nesuqp->send_cq = to_nes_ucq(attr->send_cq);
+ nesuqp->recv_cq = to_nes_ucq(attr->recv_cq);
nesuqp->sq_db_index = resp->mmap_sq_db_index;
nesuqp->rq_db_index = resp->mmap_rq_db_index;
nesuqp->sq_size = resp->actual_sq_size;
@@ -607,6 +632,8 @@
return 0;
}
*((unsigned int *)nesuqp->rq_vbase) = 0;
+ nesuqp->send_cq = to_nes_ucq(attr->send_cq);
+ nesuqp->recv_cq = to_nes_ucq(attr->recv_cq);
nesuqp->sq_db_index = resp->mmap_sq_db_index;
nesuqp->rq_db_index = resp->mmap_rq_db_index;
nesuqp->sq_size = resp->actual_sq_size;
@@ -685,6 +712,7 @@
nesuqp->sq_size = attr->cap.max_send_wr = sqdepth;
nesuqp->rq_size = attr->cap.max_recv_wr = rqdepth;
+ nesuqp->sq_sig_all = attr->sq_sig_all;
if (nesvctx->virtwq) {
status = nes_vmapped_qp(nesuqp,pd, attr,&resp,sqdepth,rqdepth);
}else {
@@ -714,7 +742,7 @@
* nes_uquery_qp
*/
int nes_uquery_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr,
- enum ibv_qp_attr_mask attr_mask, struct ibv_qp_init_attr *init_attr)
+ int attr_mask, struct ibv_qp_init_attr *init_attr)
{
struct ibv_query_qp cmd;
@@ -727,14 +755,46 @@
/**
* nes_umodify_qp
*/
-int nes_umodify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr,
- enum ibv_qp_attr_mask attr_mask)
+int nes_umodify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, int attr_mask)
{
struct ibv_modify_qp cmd;
- /* fprintf(stderr, PFX "%s, QP State = %u, attr_mask = 0x%X.\n", __FUNCTION__,
- (unsigned int)attr->qp_state, (unsigned int)attr_mask ); */
+ /* fprintf(stderr, PFX "%s, QP State = %u, attr_mask = %d.\n", __FUNCTION__,
+ (unsigned int)attr->qp_state, attr_mask); */
return ibv_cmd_modify_qp(qp, attr, attr_mask, &cmd, sizeof cmd);
+}
+
+
+/**
+ * nes_clean_cq
+ */
+static void nes_clean_cq(struct nes_uqp *nesuqp, struct nes_ucq *nesucq)
+{
+ uint32_t cq_head;
+ uint32_t lo;
+ uint32_t hi;
+ uint64_t u64temp;
+
+ pthread_spin_lock(&nesucq->lock);
+
+ cq_head = nesucq->head;
+ while (le32_to_cpu(nesucq->cqes[cq_head].cqe_words[NES_CQE_OPCODE_IDX]) & NES_CQE_VALID) {
+ rmb();
+ lo = le32_to_cpu(nesucq->cqes[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX]);
+ hi = le32_to_cpu(nesucq->cqes[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX]);
+ u64temp = (((uint64_t)hi) << 32) | ((uint64_t)lo);
+ u64temp &= (~1023);
+ if (u64temp == (uint64_t)(uintptr_t)nesuqp) {
+ /* Zero the context value so cqe will be ignored */
+ nesucq->cqes[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_LOW_IDX] = 0;
+ nesucq->cqes[cq_head].cqe_words[NES_CQE_COMP_COMP_CTX_HIGH_IDX] = 0;
+ }
+
+ if (++cq_head >= nesucq->size)
+ cq_head = 0;
+ }
+
+ pthread_spin_unlock(&nesucq->lock);
}
@@ -747,15 +807,13 @@
int ret = 0;
// fprintf(stderr, PFX "%s addr&mr= %p \n", __FUNCTION__, &nesuqp->mr );
-
if (nesuqp->mapping == NES_QP_VMAP) {
ret = ibv_cmd_dereg_mr(&nesuqp->mr);
if (ret)
fprintf(stderr, PFX "%s dereg_mr FAILED\n", __FUNCTION__);
- free(nesuqp->sq_vbase);
- }
-
+ free((void *)nesuqp->sq_vbase);
+ }
if (nesuqp->mapping == NES_QP_MMAP) {
munmap((void *)nesuqp->sq_vbase, (nesuqp->sq_size+nesuqp->rq_size) *
@@ -769,6 +827,13 @@
}
pthread_spin_destroy(&nesuqp->lock);
+
+ /* Clean any pending completions from the cq(s) */
+ if (nesuqp->send_cq)
+ nes_clean_cq(nesuqp, nesuqp->send_cq);
+
+ if ((nesuqp->recv_cq) && (nesuqp->recv_cq != nesuqp->send_cq))
+ nes_clean_cq(nesuqp, nesuqp->recv_cq);
free(nesuqp);
return 0;
@@ -785,7 +850,7 @@
struct nes_uqp *nesuqp = to_nes_uqp(ib_qp);
struct nes_upd *nesupd = to_nes_upd(ib_qp->pd);
struct nes_hw_qp_wqe volatile *wqe;
- uint32_t head = nesuqp->sq_head;
+ uint32_t head;
uint32_t qsize = nesuqp->sq_size;
uint32_t counter;
uint32_t err = 0;
@@ -796,7 +861,13 @@
pthread_spin_lock(&nesuqp->lock);
+ head = nesuqp->sq_head;
while (ib_wr) {
+ if (unlikely(nesuqp->qperr)) {
+ err = -EINVAL;
+ break;
+ }
+
/* Check for SQ overflow */
outstanding_wqes = head + (2 * qsize) - nesuqp->sq_tail;
outstanding_wqes &= qsize - 1;
@@ -833,7 +904,7 @@
}
if (ib_wr->send_flags & IBV_SEND_FENCE) {
- wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_LOCAL_FENCE);
+ wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_READ_FENCE);
}
/* if (ib_wr->send_flags & IBV_SEND_INLINE) {
@@ -844,7 +915,7 @@
((nesuqp->nes_drv_opt & NES_DRV_OPT_NO_INLINE_DATA) == 0) &&
(ib_wr->num_sge == 1)) {
memcpy((void *)&wqe->wqe_words[NES_IWARP_SQ_WQE_IMM_DATA_START_IDX],
- (void *)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length);
+ (void *)(intptr_t)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length);
wqe->wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX] = cpu_to_le32(ib_wr->sg_list[0].length);
wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_IMM_DATA);
} else {
@@ -872,7 +943,7 @@
wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] = cpu_to_le32(NES_IWARP_SQ_OP_RDMAW);
if (ib_wr->send_flags & IBV_SEND_FENCE) {
- wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_LOCAL_FENCE);
+ wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_READ_FENCE);
}
wqe->wqe_words[NES_IWARP_SQ_WQE_RDMA_STAG_IDX] = cpu_to_le32(ib_wr->wr.rdma.rkey);
wqe->wqe_words[NES_IWARP_SQ_WQE_RDMA_TO_LOW_IDX] = cpu_to_le32(
@@ -888,7 +959,7 @@
((nesuqp->nes_drv_opt & NES_DRV_OPT_NO_INLINE_DATA) == 0) &&
(ib_wr->num_sge == 1)) {
memcpy((void *)&wqe->wqe_words[NES_IWARP_SQ_WQE_IMM_DATA_START_IDX],
- (void *)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length);
+ (void *)(intptr_t)ib_wr->sg_list[0].addr, ib_wr->sg_list[0].length);
wqe->wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX] = cpu_to_le32(ib_wr->sg_list[0].length);
wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_IMM_DATA);
} else {
@@ -932,7 +1003,7 @@
break;
}
- if (ib_wr->send_flags & IBV_SEND_SIGNALED) {
+ if ((ib_wr->send_flags & IBV_SEND_SIGNALED) || nesuqp->sq_sig_all) {
/* fprintf(stderr, PFX "%s:sq wqe%u is signalled\n", __FUNCTION__, head); */
wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] |= cpu_to_le32(NES_IWARP_SQ_WQE_SIGNALED_COMPL);
}
@@ -970,7 +1041,7 @@
struct nes_uqp *nesuqp = to_nes_uqp(ib_qp);
struct nes_upd *nesupd = to_nes_upd(ib_qp->pd);
struct nes_hw_qp_wqe *wqe;
- uint32_t head = nesuqp->rq_head;
+ uint32_t head;
uint32_t qsize = nesuqp->rq_size;
uint32_t counter;
uint32_t err = 0;
@@ -981,7 +1052,13 @@
pthread_spin_lock(&nesuqp->lock);
+ head = nesuqp->rq_head;
while (ib_wr) {
+ if (unlikely(nesuqp->qperr)) {
+ err = -EINVAL;
+ break;
+ }
+
/* Check for RQ overflow */
outstanding_wqes = head + (2 * qsize) - nesuqp->rq_tail;
outstanding_wqes &= qsize - 1;
@@ -1065,7 +1142,7 @@
/**
* nes_uattach_mcast
*/
-int nes_uattach_mcast(struct ibv_qp *qp, union ibv_gid *gid, uint16_t lid)
+int nes_uattach_mcast(struct ibv_qp *qp, const union ibv_gid *gid, uint16_t lid)
{
/* fprintf(stderr, PFX "%s\n", __FUNCTION__); */
return -ENOSYS;
@@ -1075,8 +1152,29 @@
/**
* nes_udetach_mcast
*/
-int nes_udetach_mcast(struct ibv_qp *qp, union ibv_gid *gid, uint16_t lid)
+int nes_udetach_mcast(struct ibv_qp *qp, const union ibv_gid *gid, uint16_t lid)
{
/* fprintf(stderr, PFX "%s\n", __FUNCTION__); */
return -ENOSYS;
}
+
+
+/**
+ * nes_async_event
+ */
+void nes_async_event(struct ibv_async_event *event)
+{
+ struct nes_uqp *nesuqp;
+
+ switch (event->event_type) {
+ case IBV_EVENT_QP_FATAL:
+ case IBV_EVENT_QP_ACCESS_ERR:
+ /* Do not let application queue anything else to the qp */
+ nesuqp = to_nes_uqp(event->element.qp);
+ nesuqp->qperr = 1;
+ break;
+
+ default:
+ break;
+ }
+}
More information about the Pkg-ofed-commits
mailing list