Memory window support for rdma_rxe
Subsystems (2)
This a cleaned up resend of an earlier patch set. This set of patches implements the memory windows verbs and local send operations. Each of these has been tested at a basic level and regressions tests have been run to see that basic rxe functionality is OK.
The main difference between v2 and v1 is that each patch passes checkpatch and compiles without errors. Also, this set was ported from Linus's head of tree the the rdma-kernel tree because the last ones had problems getting cleanly applied. (I am trying to get git send-email to use -v2)
I would encourage anyone who has test cases for MWs to run them against this code and let me know if anything crops up.
There is a matching patch for rdma-core the user space library that is required to run user space MW applications. It will be sent out shortly.
The first two patches clean up checkpatch warnings for the existing rxe source code. They can be used separately if desired.
The third and fourth patches are a prerequisite for the rest of the set and add some WR and WC opcodes to ib_verbs.h and ib_user_verb.h.
Bob Pearson
PATCH v2 1/16 rdma_rxe: Added SPDX headers to rxe source files
Added SPDX header to all tracked .c and .h files.
--- drivers/infiniband/sw/rxe/rxe.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_av.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_comp.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_cq.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_hdr.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_hw_counters.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_hw_counters.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_icrc.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_loc.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_mcast.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_mmap.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_mr.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_net.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_net.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_opcode.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_opcode.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_param.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_pool.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_pool.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_qp.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_queue.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_queue.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_recv.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_req.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_resp.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_srq.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_sysfs.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_task.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_task.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_verbs.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_verbs.h | 31 ++------------------- 32 files changed, 96 insertions(+), 896 deletions(-)
drivers/infiniband/sw/rxe/rxe.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <rdma/rdma_netlink.h>
drivers/infiniband/sw/rxe/rxe.h +3 -28
@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_H
drivers/infiniband/sw/rxe/rxe_av.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_av.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h"
drivers/infiniband/sw/rxe/rxe_comp.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_comp.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h>
drivers/infiniband/sw/rxe/rxe_cq.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_cq.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/vmalloc.h> #include "rxe.h"
drivers/infiniband/sw/rxe/rxe_hdr.h +3 -28
@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_hdr.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_HDR_H
drivers/infiniband/sw/rxe/rxe_hw_counters.c +3 -28
@@ -1,33 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* -* Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: +* linux/drivers/infiniband/sw/rxe/rxe_hw_counters.c * -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. +* Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. */ #include "rxe.h"
drivers/infiniband/sw/rxe/rxe_hw_counters.h +3 -28
@@ -1,33 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* -* Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: +* linux/drivers/infiniband/sw/rxe/rxe_hw_counters.h * -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. +* Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. */ #ifndef RXE_HW_COUNTERS_H
drivers/infiniband/sw/rxe/rxe_icrc.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_icrc.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h"
drivers/infiniband/sw/rxe/rxe_loc.h +3 -28
@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_loc.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_LOC_H
drivers/infiniband/sw/rxe/rxe_mcast.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_mcast.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h"
drivers/infiniband/sw/rxe/rxe_mmap.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_mmap.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/module.h>
drivers/infiniband/sw/rxe/rxe_mr.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_mr.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h"
drivers/infiniband/sw/rxe/rxe_net.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_net.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h>
drivers/infiniband/sw/rxe/rxe_net.h +3 -28
@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_net.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_NET_H
drivers/infiniband/sw/rxe/rxe_opcode.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_opcode.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <rdma/ib_pack.h>
drivers/infiniband/sw/rxe/rxe_opcode.h +3 -28
@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_opcode.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_OPCODE_H
drivers/infiniband/sw/rxe/rxe_param.h +3 -28
@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_param.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_PARAM_H
drivers/infiniband/sw/rxe/rxe_pool.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_pool.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h"
drivers/infiniband/sw/rxe/rxe_pool.h +3 -28
@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_pool.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_POOL_H
drivers/infiniband/sw/rxe/rxe_qp.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_qp.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h>
drivers/infiniband/sw/rxe/rxe_queue.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_queue.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must retailuce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/vmalloc.h>
drivers/infiniband/sw/rxe/rxe_queue.h +3 -28
@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_queue.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_QUEUE_H
drivers/infiniband/sw/rxe/rxe_recv.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_recv.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h>
drivers/infiniband/sw/rxe/rxe_req.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_req.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h>
drivers/infiniband/sw/rxe/rxe_resp.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_resp.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h>
drivers/infiniband/sw/rxe/rxe_srq.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_srq.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/vmalloc.h>
drivers/infiniband/sw/rxe/rxe_sysfs.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_sysfs.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h"
drivers/infiniband/sw/rxe/rxe_task.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_task.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/kernel.h>
drivers/infiniband/sw/rxe/rxe_task.h +3 -28
@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_task.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_TASK_H
drivers/infiniband/sw/rxe/rxe_verbs.c +3 -28
@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_verbs.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/dma-mapping.h>
drivers/infiniband/sw/rxe/rxe_verbs.h +3 -28
@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_verbs.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_VERBS_H
Signature · 1 line
2.25.1
Zhu Yanjun
maintainerRe: [PATCH v2 01/16] rdma_rxe: Added SPDX headers to rxe source files
Quoted 43 lines · Bob Pearson
Added SPDX header to all tracked .c and .h files.
Signed-off-by Bob Pearson <[email protected]>--- drivers/infiniband/sw/rxe/rxe.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_av.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_comp.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_cq.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_hdr.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_hw_counters.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_hw_counters.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_icrc.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_loc.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_mcast.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_mmap.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_mr.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_net.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_net.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_opcode.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_opcode.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_param.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_pool.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_pool.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_qp.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_queue.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_queue.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_recv.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_req.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_resp.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_srq.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_sysfs.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_task.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_task.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_verbs.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_verbs.h | 31 ++------------------- 32 files changed, 96 insertions(+), 896 deletions(-)drivers/infiniband/sw/rxe/rxe.c +0
-0
drivers/infiniband/sw/rxe/rxe.c line 1
Quoted 1 line
drivers/infiniband/sw/rxe/rxe.c +1
-0@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
The license is changed?
Why?
Quoted 1,336 lines
drivers/infiniband/sw/rxe/rxe.c +2
-28/* +* linux/drivers/infiniband/sw/rxe/rxe.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <rdma/rdma_netlink.h> drivers/infiniband/sw/rxe/rxe.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_H drivers/infiniband/sw/rxe/rxe_av.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_av.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h" drivers/infiniband/sw/rxe/rxe_comp.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_comp.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h> drivers/infiniband/sw/rxe/rxe_cq.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_cq.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/vmalloc.h> #include "rxe.h" drivers/infiniband/sw/rxe/rxe_hdr.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_hdr.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_HDR_H drivers/infiniband/sw/rxe/rxe_hw_counters.c +3
-28@@ -1,33 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* -* Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: +* linux/drivers/infiniband/sw/rxe/rxe_hw_counters.c * -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. +* Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. */ #include "rxe.h" drivers/infiniband/sw/rxe/rxe_hw_counters.h +3
-28@@ -1,33 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* -* Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: +* linux/drivers/infiniband/sw/rxe/rxe_hw_counters.h * -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. +* Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. */ #ifndef RXE_HW_COUNTERS_H drivers/infiniband/sw/rxe/rxe_icrc.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_icrc.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h" drivers/infiniband/sw/rxe/rxe_loc.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_loc.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_LOC_H drivers/infiniband/sw/rxe/rxe_mcast.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_mcast.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h" drivers/infiniband/sw/rxe/rxe_mmap.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_mmap.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/module.h> drivers/infiniband/sw/rxe/rxe_mr.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_mr.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h" drivers/infiniband/sw/rxe/rxe_net.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_net.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h> drivers/infiniband/sw/rxe/rxe_net.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_net.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_NET_H drivers/infiniband/sw/rxe/rxe_opcode.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_opcode.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <rdma/ib_pack.h> drivers/infiniband/sw/rxe/rxe_opcode.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_opcode.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_OPCODE_H drivers/infiniband/sw/rxe/rxe_param.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_param.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_PARAM_H drivers/infiniband/sw/rxe/rxe_pool.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_pool.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h" drivers/infiniband/sw/rxe/rxe_pool.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_pool.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_POOL_H drivers/infiniband/sw/rxe/rxe_qp.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_qp.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h> drivers/infiniband/sw/rxe/rxe_queue.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_queue.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must retailuce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/vmalloc.h> drivers/infiniband/sw/rxe/rxe_queue.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_queue.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_QUEUE_H drivers/infiniband/sw/rxe/rxe_recv.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_recv.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h> drivers/infiniband/sw/rxe/rxe_req.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_req.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h> drivers/infiniband/sw/rxe/rxe_resp.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_resp.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/skbuff.h> drivers/infiniband/sw/rxe/rxe_srq.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_srq.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/vmalloc.h> drivers/infiniband/sw/rxe/rxe_sysfs.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_sysfs.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include "rxe.h" drivers/infiniband/sw/rxe/rxe_task.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_task.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/kernel.h> drivers/infiniband/sw/rxe/rxe_task.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_task.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_TASK_H drivers/infiniband/sw/rxe/rxe_verbs.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* +* linux/drivers/infiniband/sw/rxe/rxe_verbs.c +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #include <linux/dma-mapping.h> drivers/infiniband/sw/rxe/rxe_verbs.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_verbs.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_VERBS_H
Re: [PATCH v2 01/16] rdma_rxe: Added SPDX headers to rxe source files
Quoted 1,347 lines · Zhu Yanjun
Quoted 43 lines · Bob Pearson
Added SPDX header to all tracked .c and .h files.
Signed-off-by Bob Pearson <[email protected]>---
drivers/infiniband/sw/rxe/rxe.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_av.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_comp.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_cq.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_hdr.h | 31 ++-------------------drivers/infiniband/sw/rxe/rxe_hw_counters.c| 31 ++-------------------drivers/infiniband/sw/rxe/rxe_hw_counters.h| 31 ++------------------- drivers/infiniband/sw/rxe/rxe_icrc.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_loc.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_mcast.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_mmap.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_mr.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_net.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_net.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_opcode.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_opcode.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_param.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_pool.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_pool.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_qp.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_queue.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_queue.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_recv.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_req.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_resp.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_srq.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_sysfs.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_task.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_task.h | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_verbs.c | 31 ++------------------- drivers/infiniband/sw/rxe/rxe_verbs.h | 31 ++-------------------32 files changed, 96 insertions(+), 896 deletions(-)drivers/infiniband/sw/rxe/rxe.c +0
-0drivers/infiniband/sw/rxe/rxe.c line 1
Quoted 1 line
drivers/infiniband/sw/rxe/rxe.c +1
-0@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB The license is changed?
Why?
Quoted 1,297 lines
drivers/infiniband/sw/rxe/rxe.c +2
-28/* + * linux/drivers/infiniband/sw/rxe/rxe.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <rdma/rdma_netlink.h>drivers/infiniband/sw/rxe/rxe.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* + * linux/drivers/infiniband/sw/rxe/rxe.h + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #ifndef RXE_Hdrivers/infiniband/sw/rxe/rxe_av.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_av.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include "rxe.h"drivers/infiniband/sw/rxe/rxe_comp.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_comp.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/skbuff.h>drivers/infiniband/sw/rxe/rxe_cq.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_cq.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/vmalloc.h> #include "rxe.h"drivers/infiniband/sw/rxe/rxe_hdr.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* + * linux/drivers/infiniband/sw/rxe/rxe_hdr.h + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #ifndef RXE_HDR_Hdrivers/infiniband/sw/rxe/rxe_hw_counters.c +3
-28@@ -1,33 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* - * Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: + * linux/drivers/infiniband/sw/rxe/rxe_hw_counters.c * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. */ #include "rxe.h"drivers/infiniband/sw/rxe/rxe_hw_counters.h +3
-28@@ -1,33 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* - * Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: + * linux/drivers/infiniband/sw/rxe/rxe_hw_counters.h * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright (c) 2017 Mellanox Technologies Ltd. All rights reserved. */ #ifndef RXE_HW_COUNTERS_Hdrivers/infiniband/sw/rxe/rxe_icrc.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_icrc.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include "rxe.h"drivers/infiniband/sw/rxe/rxe_loc.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* + * linux/drivers/infiniband/sw/rxe/rxe_loc.h + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #ifndef RXE_LOC_Hdrivers/infiniband/sw/rxe/rxe_mcast.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_mcast.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include "rxe.h"drivers/infiniband/sw/rxe/rxe_mmap.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_mmap.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/module.h>drivers/infiniband/sw/rxe/rxe_mr.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_mr.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include "rxe.h"drivers/infiniband/sw/rxe/rxe_net.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_net.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/skbuff.h>drivers/infiniband/sw/rxe/rxe_net.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* + * linux/drivers/infiniband/sw/rxe/rxe_net.h + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #ifndef RXE_NET_Hdrivers/infiniband/sw/rxe/rxe_opcode.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_opcode.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <rdma/ib_pack.h>drivers/infiniband/sw/rxe/rxe_opcode.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* + * linux/drivers/infiniband/sw/rxe/rxe_opcode.h + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #ifndef RXE_OPCODE_Hdrivers/infiniband/sw/rxe/rxe_param.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* + * linux/drivers/infiniband/sw/rxe/rxe_param.h + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #ifndef RXE_PARAM_Hdrivers/infiniband/sw/rxe/rxe_pool.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_pool.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include "rxe.h"drivers/infiniband/sw/rxe/rxe_pool.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* + * linux/drivers/infiniband/sw/rxe/rxe_pool.h + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #ifndef RXE_POOL_Hdrivers/infiniband/sw/rxe/rxe_qp.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_qp.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/skbuff.h>drivers/infiniband/sw/rxe/rxe_queue.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_queue.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must retailuce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/vmalloc.h>drivers/infiniband/sw/rxe/rxe_queue.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* + * linux/drivers/infiniband/sw/rxe/rxe_queue.h + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #ifndef RXE_QUEUE_Hdrivers/infiniband/sw/rxe/rxe_recv.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_recv.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/skbuff.h>drivers/infiniband/sw/rxe/rxe_req.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_req.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/skbuff.h>drivers/infiniband/sw/rxe/rxe_resp.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_resp.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/skbuff.h>drivers/infiniband/sw/rxe/rxe_srq.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_srq.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/vmalloc.h>drivers/infiniband/sw/rxe/rxe_sysfs.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_sysfs.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include "rxe.h"drivers/infiniband/sw/rxe/rxe_task.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_task.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/kernel.h>drivers/infiniband/sw/rxe/rxe_task.h +3
-28@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* + * linux/drivers/infiniband/sw/rxe/rxe_task.h + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #ifndef RXE_TASK_Hdrivers/infiniband/sw/rxe/rxe_verbs.c +3
-28@@ -1,34 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB /* + * linux/drivers/infiniband/sw/rxe/rxe_verbs.c + * * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. - * - * This software is available to you under a choice of one of two - * licenses. You may choose to be licensed under the terms of the GNU - * General Public License (GPL) Version 2, available from the file - * COPYING in the main directory of this source tree, or the - * OpenIB.org BSD license below: - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above - * copyright notice, this list of conditions and the following - * disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include <linux/dma-mapping.h>drivers/infiniband/sw/rxe/rxe_verbs.h +3
-22@@ -1,34 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* +* linux/drivers/infiniband/sw/rxe/rxe_verbs.h +* * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved. * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved. -* -* This software is available to you under a choice of one of two -* licenses. You may choose to be licensed under the terms of the GNU -* General Public License (GPL) Version 2, available from the file -* COPYING in the main directory of this source tree, or the -* OpenIB.org BSD license below: -* -* Redistribution and use in source and binary forms, with or -* without modification, are permitted provided that the following -* conditions are met: -* -* - Redistributions of source code must retain the above -* copyright notice, this list of conditions and the following -* disclaimer. -* -* - Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
Quoted 10 lines
drivers/infiniband/sw/rxe/rxe_verbs.h line 9
Quoted 8 lines
drivers/infiniband/sw/rxe/rxe_verbs.h +0
-6-* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -* SOFTWARE. */ #ifndef RXE_VERBS_H
It's the same license. Just moved to a central repository instead of each file. checkpatch now complains if files do not use SPDX headers.
PATCH v2 2/16 rdma_rxe: Fixed style warnings
In reply to Bob PearsonFixed several minor checkpatch warnings in existing rxe source.
--- drivers/infiniband/sw/rxe/rxe_comp.c | 3 +-- drivers/infiniband/sw/rxe/rxe_net.c | 2 +- drivers/infiniband/sw/rxe/rxe_qp.c | 3 +-- drivers/infiniband/sw/rxe/rxe_task.h | 2 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 13 ++++++++----- include/uapi/rdma/rdma_user_rxe.h | 6 +++--- 6 files changed, 15 insertions(+), 14 deletions(-)
drivers/infiniband/sw/rxe/rxe_comp.c +1 -2
@@ -665,9 +665,8 @@ int rxe_completer(void *arg)*/ /* there is nothing to retry in this case */ -if (!wqe || (wqe->state == wqe_state_posted)) { +if (!wqe || (wqe->state == wqe_state_posted)) goto exit; - }/* if we've started a retry, don't start another * retry sequence, unless this is a timeout.
drivers/infiniband/sw/rxe/rxe_net.c +1 -1
@@ -95,7 +95,7 @@ static struct dst_entry *rxe_find_route6(struct net_device *ndev, ndst = ipv6_stub->ipv6_dst_lookup_flow (sock_net (recv_sockets.sk6->sk), recv_sockets.sk6->sk, &fl6,NULL ); -if (unlikely (IS_ERR (ndst))) { +if (IS_ERR (ndst)) {pr_err_ratelimited ("no route to %pI6\n" , daddr);return NULL ; }
drivers/infiniband/sw/rxe/rxe_qp.c +1 -2
@@ -603,9 +603,8 @@ int rxe_qp_from_attr(struct rxe_qp *qp, struct ib_qp_attr *attr, int mask,if (mask &IB_QP_QKEY ) qp->attr.qkey = attr->qkey; -if (mask &IB_QP_AV ) { +if (mask &IB_QP_AV )rxe_init_av (&attr->ah_attr, &qp->pri_av); - }if (mask &IB_QP_ALT_PATH ) {rxe_init_av (&attr->alt_ah_attr, &qp->alt_av);
drivers/infiniband/sw/rxe/rxe_task.h +1 -1
@@ -35,7 +35,7 @@ struct rxe_task {/* * init rxe_task structure * arg => parameter to pass to fcn -* fcn => function to call until it returns != 0 +* func => function to call until it returns != 0 */ int rxe_init_task (void *obj,struct rxe_task *task,void *arg,int (*func)(void *),char *name);
drivers/infiniband/sw/rxe/rxe_verbs.c +8 -5
@@ -579,6 +579,12 @@ static int init_send_wqe(struct rxe_qp *qp, const struct ib_send_wr *ibwr, qp_type(qp) == IB_QPT_GSI)memcpy (&wqe->av, &to_rah (ud_wr (ibwr)->ah)->av,sizeof (wqe->av)); +if (mask &WR_REG_MASK ) { + wqe->mask = mask; + wqe->state = wqe_state_posted; +return 0 ; + } +if (unlikely (ibwr->send_flags &IB_SEND_INLINE )) { p = wqe->dma.inline_data;
@@ -589,13 +595,10 @@ static int init_send_wqe(struct rxe_qp *qp, const struct ib_send_wr *ibwr, p += sge->length; } - }else if (mask &WR_REG_MASK ) { - wqe->mask = mask; - wqe->state = wqe_state_posted; -return 0 ; - }else + }else {memcpy (wqe->dma.sge, ibwr->sg_list, num_sge *sizeof (struct ib_sge )); + } wqe->iova = mask &WR_ATOMIC_MASK ?atomic_wr (ibwr)->remote_addr : mask &WR_READ_OR_WRITE_MASK ?rdma_wr (ibwr)->remote_addr :0 ;
include/uapi/rdma/rdma_user_rxe.h +3 -3
@@ -99,8 +99,8 @@ struct rxe_send_wr {struct ib_mr *mr;__aligned_u64 reserved; }; -__u32 key; -__u32 access; +__u32 key; +__u32 access; } reg; } wr; };
@@ -112,7 +112,7 @@ struct rxe_sge { };struct mminfo { -__aligned_u64 offset; +__aligned_u64 offset;__u32 size;__u32 pad; };
Signature · 1 line
2.25.1
PATCH v2 3/16 ib_user_verbs.h: Added ib_uverbs_wc_opcode
In reply to Bob PearsonThis enum plays the same role as ib_uverbs_wr_opcode documenting the opcodes in the user space API. It plays a role for software drivers like rxe.
--- include/uapi/rdma/ib_user_verbs.h | 11 +++++++++++ 1 file changed, 11 insertions(+)
include/uapi/rdma/ib_user_verbs.h +11 -0
@@ -457,6 +457,17 @@ struct ib_uverbs_poll_cq {__u32 ne; }; +enum ib_uverbs_wc_opcode { +IB_UVERBS_WC_SEND =0 , +IB_UVERBS_WC_RDMA_WRITE =1 , +IB_UVERBS_WC_RDMA_READ =2 , +IB_UVERBS_WC_COMP_SWAP =3 , +IB_UVERBS_WC_FETCH_ADD =4 , +IB_UVERBS_WC_BIND_MW =5 , +IB_UVERBS_WC_LOCAL_INV =6 , +IB_UVERBS_WC_TSO =7 , +}; +struct ib_uverbs_wc {__aligned_u64 wr_id;__u32 status;
Signature · 1 line
2.25.1
PATCH v2 4/16 ib_verbs.h: Added missing IB_WR_BIND_MW opcode
In reply to Bob PearsonAlso assigned the IB_WC_XXX to the IB_UVERBS_WC_XXX where they are defined. This follows the same pattern as the IB_WR_XXX opcodes. This fixes an incorrect value for LSO that had crept in but was not used.
--- include/rdma/ib_verbs.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-)
include/rdma/ib_verbs.h +9 -7
@@ -978,13 +978,14 @@ enum ib_wc_status { const char *__attribute_const__ ib_wc_status_msg(enum ib_wc_status status);enum ib_wc_opcode { -IB_WC_SEND , -IB_WC_RDMA_WRITE , -IB_WC_RDMA_READ , -IB_WC_COMP_SWAP , -IB_WC_FETCH_ADD , -IB_WC_LSO , -IB_WC_LOCAL_INV , +IB_WC_SEND =IB_UVERBS_WC_SEND , +IB_WC_RDMA_WRITE =IB_UVERBS_WC_RDMA_WRITE , +IB_WC_RDMA_READ =IB_UVERBS_WC_RDMA_READ , +IB_WC_COMP_SWAP =IB_UVERBS_WC_COMP_SWAP , +IB_WC_FETCH_ADD =IB_UVERBS_WC_FETCH_ADD , +IB_WC_BIND_MW =IB_UVERBS_WC_BIND_MW , +IB_WC_LOCAL_INV =IB_UVERBS_WC_LOCAL_INV , +IB_WC_LSO =IB_UVERBS_WC_TSO ,IB_WC_REG_MR ,IB_WC_MASKED_COMP_SWAP ,IB_WC_MASKED_FETCH_ADD ,
@@ -1317,6 +1318,7 @@ enum ib_wr_opcode {IB_WR_RDMA_READ =IB_UVERBS_WR_RDMA_READ ,IB_WR_ATOMIC_CMP_AND_SWP =IB_UVERBS_WR_ATOMIC_CMP_AND_SWP ,IB_WR_ATOMIC_FETCH_AND_ADD =IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD , +IB_WR_BIND_MW =IB_UVERBS_WR_BIND_MW ,IB_WR_LSO =IB_UVERBS_WR_TSO ,IB_WR_SEND_WITH_INV =IB_UVERBS_WR_SEND_WITH_INV , IB_WR_RDMA_READ_WITH_INV = IB_UVERBS_WR_RDMA_READ_WITH_INV,
Signature · 1 line
2.25.1
PATCH v2 5/16 rdma_rxe: Added bind_mw parameters to rxe_send_wr
In reply to Bob PearsonThis is a first prototype version of the user/kernel ABI extension to add memory windows functionality to the rxe driver. It evolves later.
--- include/uapi/rdma/rdma_user_rxe.h | 8 ++++++++ 1 file changed, 8 insertions(+)
include/uapi/rdma/rdma_user_rxe.h +8 -0
@@ -93,6 +93,14 @@ struct rxe_send_wr {__u32 remote_qkey;__u16 pkey_index; } ud; +struct { +__aligned_u64 addr; +__aligned_u64 length; +__u32 mr_index; +__u32 mw_index; +__u32 rkey; +__u32 access; + } bind_mw;/* reg is only used by the kernel and is not part of the uapi */ struct { union {
Signature · 1 line
2.25.1
PATCH v2 6/16 rdma_rxe: Added stubs for alloc_mw and dealloc_mw verbs
In reply to Bob PearsonAdded a new file focused on memory windows, rxe_mw.c and adds stubbed out kernel verbs API for alloc_mw and dealloc_mw. These functions are added to the context ops struct and bits added to the supported APIs mask.
--- drivers/infiniband/sw/rxe/Makefile | 1 + drivers/infiniband/sw/rxe/rxe_loc.h | 5 +++++ drivers/infiniband/sw/rxe/rxe_mw.c | 22 ++++++++++++++++++++++ drivers/infiniband/sw/rxe/rxe_verbs.c | 4 ++++ 4 files changed, 32 insertions(+) create mode 100644 drivers/infiniband/sw/rxe/rxe_mw.c
drivers/infiniband/sw/rxe/Makefile +1 -0
@@ -15,6 +15,7 @@ rdma_rxe-y := \ rxe_qp.o \ rxe_cq.o \ rxe_mr.o \ + rxe_mw.o \ rxe_opcode.o \ rxe_mmap.o \ rxe_icrc.o \
drivers/infiniband/sw/rxe/rxe_loc.h +5 -0
@@ -114,6 +114,11 @@ void rxe_mem_cleanup(struct rxe_pool_entry *arg);int advance_dma_data (struct rxe_dma_info *dma,unsigned int length); +/* rxe_mw.c */ +struct ib_mw *rxe_alloc_mw (struct ib_pd *ibpd,enum ib_mw_type type, +struct ib_udata *udata); +int rxe_dealloc_mw (struct ib_mw *ibmw); +/* rxe_net.c */ void rxe_loopback (struct sk_buff *skb);int rxe_send (struct rxe_pkt_info *pkt,struct sk_buff *skb);
drivers/infiniband/sw/rxe/rxe_mw.c new file +22 -0
@@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB +/* +* linux/drivers/infiniband/sw/rxe/rxe_mw.c +* +* Copyright (c) 2020 Hewlett Packard Enterprise, Inc. All rights reserved. +*/ + +#include "rxe.h" +#include "rxe_loc.h" + +struct ib_mw *rxe_alloc_mw (struct ib_pd *ibpd,enum ib_mw_type type, +struct ib_udata *udata) +{ +pr_err_once ("%s: not implemented\n" , __func__); +return ERR_PTR (-EINVAL ); +} + +int rxe_dealloc_mw (struct ib_mw *ibmw) +{ +pr_err_once ("%s: not implemented\n" , __func__); +return -EINVAL ; +}
drivers/infiniband/sw/rxe/rxe_verbs.c +4 -0
@@ -1130,6 +1130,8 @@ static const struct ib_device_ops rxe_dev_ops = { .reg_user_mr = rxe_reg_user_mr, .req_notify_cq = rxe_req_notify_cq, .resize_cq = rxe_resize_cq, + .alloc_mw = rxe_alloc_mw, + .dealloc_mw = rxe_dealloc_mw,INIT_RDMA_OBJ_SIZE (ib_ah, rxe_ah, ibah), INIT_RDMA_OBJ_SIZE(ib_cq, rxe_cq, ibcq),
@@ -1191,6 +1193,8 @@ int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name) | BIT_ULL(IB_USER_VERBS_CMD_DESTROY_AH) |BIT_ULL (IB_USER_VERBS_CMD_ATTACH_MCAST ) |BIT_ULL (IB_USER_VERBS_CMD_DETACH_MCAST ) + |BIT_ULL (IB_USER_VERBS_CMD_ALLOC_MW ) + |BIT_ULL (IB_USER_VERBS_CMD_DEALLOC_MW ) ;ib_set_device_ops (dev, &rxe_dev_ops);
Signature · 1 line
2.25.1
PATCH v2 7/16 rdma_rxe: Separated MR and MW objects.
In reply to Bob PearsonIn the original rxe implementation it was intended to use a common object to represent MRs and MWs but it became clear that they are different enough to separate these into two objects.
This allows replacing the mem name with mr for MRs which is more consistent with the style for the other objects and less likely to be confusing. This is a long patch that just changes mem to mr where it makes sense.
--- drivers/infiniband/sw/rxe/rxe_comp.c | 4 +- drivers/infiniband/sw/rxe/rxe_loc.h | 28 +-- drivers/infiniband/sw/rxe/rxe_mr.c | 280 +++++++++++++------------- drivers/infiniband/sw/rxe/rxe_pool.c | 6 +- drivers/infiniband/sw/rxe/rxe_req.c | 6 +- drivers/infiniband/sw/rxe/rxe_resp.c | 30 +-- drivers/infiniband/sw/rxe/rxe_verbs.c | 18 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 33 ++- 8 files changed, 198 insertions(+), 207 deletions(-)
drivers/infiniband/sw/rxe/rxe_comp.c +2 -2
@@ -347,7 +347,7 @@ static inline enum comp_state do_read(struct rxe_qp *qp, ret =copy_data (qp->pd,IB_ACCESS_LOCAL_WRITE , &wqe->dma,payload_addr (pkt), -payload_size (pkt), to_mem_obj,NULL ); +payload_size (pkt), to_mr_obj,NULL );if (ret)return COMPST_ERROR ;
@@ -367,7 +367,7 @@ static inline enum comp_state do_atomic(struct rxe_qp *qp, ret =copy_data (qp->pd,IB_ACCESS_LOCAL_WRITE , &wqe->dma, &atomic_orig, -sizeof (u64), to_mem_obj,NULL ); +sizeof (u64), to_mr_obj,NULL );if (ret)return COMPST_ERROR ;else
drivers/infiniband/sw/rxe/rxe_loc.h +14 -14
@@ -74,43 +74,43 @@ int rxe_mmap(struct ib_ucontext *context, struct vm_area_struct *vma);/* rxe_mr.c */ enum copy_direction { - to_mem_obj, - from_mem_obj, + to_mr_obj, + from_mr_obj, }; -int rxe_mem_init_dma (struct rxe_pd *pd, -int access,struct rxe_mem *mem); +int rxe_mr_init_dma (struct rxe_pd *pd, +int access,struct rxe_mr *mr); -int rxe_mem_init_user (struct rxe_pd *pd,u64 start, +int rxe_mr_init_user (struct rxe_pd *pd,u64 start,u64 length,u64 iova,int access,struct ib_udata *udata, -struct rxe_mem *mr); +struct rxe_mr *mr); -int rxe_mem_init_fast (struct rxe_pd *pd, -int max_pages,struct rxe_mem *mem); +int rxe_mr_init_fast (struct rxe_pd *pd, +int max_pages,struct rxe_mr *mr); -int rxe_mem_copy (struct rxe_mem *mem,u64 iova,void *addr, +int rxe_mr_copy (struct rxe_mr *mr,u64 iova,void *addr,int length,enum copy_direction dir,u32 *crcp);int copy_data (struct rxe_pd *pd,int access,struct rxe_dma_info *dma,void *addr,int length,enum copy_direction dir,u32 *crcp); -void *iova_to_vaddr (struct rxe_mem *mem,u64 iova,int length); +void *iova_to_vaddr (struct rxe_mr *mr,u64 iova,int length);enum lookup_type { lookup_local, lookup_remote, }; -struct rxe_mem *lookup_mem (struct rxe_pd *pd,int access,u32 key, +struct rxe_mr *lookup_mr (struct rxe_pd *pd,int access,u32 key,enum lookup_type type); -int mem_check_range (struct rxe_mem *mem,u64 iova,size_t length); +int mr_check_range (struct rxe_mr *mr,u64 iova,size_t length); -int rxe_mem_map_pages (struct rxe_dev *rxe,struct rxe_mem *mem, +int rxe_mr_map_pages (struct rxe_dev *rxe,struct rxe_mr *mr,u64 *page,int num_pages,u64 iova); -void rxe_mem_cleanup (struct rxe_pool_entry *arg); +void rxe_mr_cleanup (struct rxe_pool_entry *arg);int advance_dma_data (struct rxe_dma_info *dma,unsigned int length);
drivers/infiniband/sw/rxe/rxe_mr.c +140 -140
557 lines not on this page · raw message
drivers/infiniband/sw/rxe/rxe_pool.c +3 -3
@@ -52,15 +52,15 @@ struct rxe_type_info rxe_type_info[RXE_NUM_TYPES] = { }, [RXE_TYPE_MR] = { .name = "rxe-mr", - .size = sizeof(struct rxe_mem), - .cleanup = rxe_mem_cleanup, + .size = sizeof(struct rxe_mr), + .cleanup = rxe_mr_cleanup, .flags = RXE_POOL_INDEX, .max_index = RXE_MAX_MR_INDEX, .min_index = RXE_MIN_MR_INDEX, }, [RXE_TYPE_MW] = { .name = "rxe-mw", - .size = sizeof(struct rxe_mem), + .size = sizeof(struct rxe_mr), .flags = RXE_POOL_INDEX, .max_index = RXE_MAX_MW_INDEX, .min_index = RXE_MIN_MW_INDEX,
drivers/infiniband/sw/rxe/rxe_req.c +3 -3
@@ -470,7 +470,7 @@ static int fill_packet(struct rxe_qp *qp, struct rxe_send_wqe *wqe, }else { err =copy_data (qp->pd,0 , &wqe->dma,payload_addr (pkt), paylen, - from_mem_obj, + from_mr_obj, &crc);if (err)return err;
@@ -602,7 +602,7 @@ int rxe_requester(void *arg)if (wqe->mask &WR_REG_MASK ) {if (wqe->wr.opcode ==IB_WR_LOCAL_INV ) {struct rxe_dev *rxe =to_rdev (qp->ibqp.device); -struct rxe_mem *rmr; +struct rxe_mr *rmr; rmr =rxe_pool_get_index (&rxe->mr_pool, wqe->wr.ex.invalidate_rkey >>8 );
@@ -618,7 +618,7 @@ int rxe_requester(void *arg) wqe->state = wqe_state_done; wqe->status =IB_WC_SUCCESS ; }else if (wqe->wr.opcode ==IB_WR_REG_MR ) { -struct rxe_mem *rmr =to_rmr (wqe->wr.wr.reg.mr); +struct rxe_mr *rmr =to_rmr (wqe->wr.wr.reg.mr); rmr->state =RXE_MEM_STATE_VALID ; rmr->access = wqe->wr.wr.reg.access;
drivers/infiniband/sw/rxe/rxe_resp.c +15 -15
@@ -392,7 +392,7 @@ static enum resp_states check_length(struct rxe_qp *qp,static enum resp_states check_rkey (struct rxe_qp *qp,struct rxe_pkt_info *pkt) { -struct rxe_mem *mem =NULL ; +struct rxe_mr *mr =NULL ;u64 va;u32 rkey;u32 resid;
@@ -431,18 +431,18 @@ static enum resp_states check_rkey(struct rxe_qp *qp, resid = qp->resp.resid; pktlen =payload_size (pkt); - mem =lookup_mem (qp->pd, access, rkey, lookup_remote); -if (!mem) { + mr =lookup_mr (qp->pd, access, rkey, lookup_remote); +if (!mr) { state =RESPST_ERR_RKEY_VIOLATION ; goto err; } -if (unlikely (mem->state ==RXE_MEM_STATE_FREE )) { +if (unlikely (mr->state ==RXE_MEM_STATE_FREE )) { state =RESPST_ERR_RKEY_VIOLATION ; goto err; } -if (mem_check_range (mem, va, resid)) { +if (mr_check_range (mr, va, resid)) { state =RESPST_ERR_RKEY_VIOLATION ; goto err; }
@@ -470,12 +470,12 @@ static enum resp_states check_rkey(struct rxe_qp *qp,WARN_ON_ONCE (qp->resp.mr); - qp->resp.mr = mem; + qp->resp.mr = mr;return RESPST_EXECUTE ; err: -if (mem) -rxe_drop_ref (mem); +if (mr) +rxe_drop_ref (mr);return state; }
@@ -485,7 +485,7 @@ static enum resp_states send_data_in(struct rxe_qp *qp, void *data_addr,int err; err =copy_data (qp->pd,IB_ACCESS_LOCAL_WRITE , &qp->resp.wqe->dma, - data_addr, data_len, to_mem_obj,NULL ); + data_addr, data_len, to_mr_obj,NULL );if (unlikely (err))return (err == -ENOSPC ) ?RESPST_ERR_LENGTH :RESPST_ERR_MALFORMED_WQE ;
@@ -500,8 +500,8 @@ static enum resp_states write_data_in(struct rxe_qp *qp,int err;int data_len =payload_size (pkt); - err =rxe_mem_copy (qp->resp.mr, qp->resp.va,payload_addr (pkt), - data_len, to_mem_obj,NULL ); + err =rxe_mr_copy (qp->resp.mr, qp->resp.va,payload_addr (pkt), + data_len, to_mr_obj,NULL );if (err) { rc =RESPST_ERR_RKEY_VIOLATION ; goto out;
@@ -523,7 +523,7 @@ static enum resp_states process_atomic(struct rxe_qp *qp,u64 iova =atmeth_va (pkt);u64 *vaddr;enum resp_states ret; -struct rxe_mem *mr = qp->resp.mr; +struct rxe_mr *mr = qp->resp.mr;if (mr->state !=RXE_MEM_STATE_VALID ) { ret =RESPST_ERR_RKEY_VIOLATION ;
@@ -702,8 +702,8 @@ static enum resp_states read_reply(struct rxe_qp *qp,if (!skb)return RESPST_ERR_RNR ; - err =rxe_mem_copy (res->read.mr, res->read.va,payload_addr (&ack_pkt), - payload, from_mem_obj, &icrc); + err =rxe_mr_copy (res->read.mr, res->read.va,payload_addr (&ack_pkt), + payload, from_mr_obj, &icrc);if (err)pr_err ("Failed copying memory\n" );
@@ -885,7 +885,7 @@ static enum resp_states do_complete(struct rxe_qp *qp, }if (pkt->mask &RXE_IETH_MASK ) { -struct rxe_mem *rmr; +struct rxe_mr *rmr; wc->wc_flags |=IB_WC_WITH_INVALIDATE ; wc->ex.invalidate_rkey =ieth_rkey (pkt);
drivers/infiniband/sw/rxe/rxe_verbs.c +9 -9
@@ -878,7 +878,7 @@ static struct ib_mr *rxe_get_dma_mr(struct ib_pd *ibpd, int access) {struct rxe_dev *rxe =to_rdev (ibpd->device);struct rxe_pd *pd =to_rpd (ibpd); -struct rxe_mem *mr; +struct rxe_mr *mr;int err; mr =rxe_alloc (&rxe->mr_pool);
@@ -891,7 +891,7 @@ static struct ib_mr *rxe_get_dma_mr(struct ib_pd *ibpd, int access)rxe_add_ref (pd); - err =rxe_mem_init_dma (pd, access, mr); + err =rxe_mr_init_dma (pd, access, mr);if (err) goto err2;
@@ -914,7 +914,7 @@ static struct ib_mr *rxe_reg_user_mr(struct ib_pd *ibpd,int err;struct rxe_dev *rxe =to_rdev (ibpd->device);struct rxe_pd *pd =to_rpd (ibpd); -struct rxe_mem *mr; +struct rxe_mr *mr; mr =rxe_alloc (&rxe->mr_pool);if (!mr) {
@@ -926,7 +926,7 @@ static struct ib_mr *rxe_reg_user_mr(struct ib_pd *ibpd,rxe_add_ref (pd); - err =rxe_mem_init_user (pd, start, length, iova, + err =rxe_mr_init_user (pd, start, length, iova, access, udata, mr);if (err) goto err3;
@@ -943,7 +943,7 @@ static struct ib_mr *rxe_reg_user_mr(struct ib_pd *ibpd,static int rxe_dereg_mr (struct ib_mr *ibmr,struct ib_udata *udata) { -struct rxe_mem *mr =to_rmr (ibmr); +struct rxe_mr *mr =to_rmr (ibmr); mr->state =RXE_MEM_STATE_ZOMBIE ;rxe_drop_ref (mr->pd);
@@ -957,7 +957,7 @@ static struct ib_mr *rxe_alloc_mr(struct ib_pd *ibpd, enum ib_mr_type mr_type, {struct rxe_dev *rxe =to_rdev (ibpd->device);struct rxe_pd *pd =to_rpd (ibpd); -struct rxe_mem *mr; +struct rxe_mr *mr;int err;if (mr_type !=IB_MR_TYPE_MEM_REG )
@@ -973,7 +973,7 @@ static struct ib_mr *rxe_alloc_mr(struct ib_pd *ibpd, enum ib_mr_type mr_type,rxe_add_ref (pd); - err =rxe_mem_init_fast (pd, max_num_sg, mr); + err =rxe_mr_init_fast (pd, max_num_sg, mr);if (err) goto err2;
@@ -989,7 +989,7 @@ static struct ib_mr *rxe_alloc_mr(struct ib_pd *ibpd, enum ib_mr_type mr_type,static int rxe_set_page (struct ib_mr *ibmr,u64 addr) { -struct rxe_mem *mr =to_rmr (ibmr); +struct rxe_mr *mr =to_rmr (ibmr);struct rxe_map *map;struct rxe_phys_buf *buf;
@@ -1009,7 +1009,7 @@ static int rxe_set_page(struct ib_mr *ibmr, u64 addr)static int rxe_map_mr_sg (struct ib_mr *ibmr,struct scatterlist *sg,int sg_nents,unsigned int *sg_offset) { -struct rxe_mem *mr =to_rmr (ibmr); +struct rxe_mr *mr =to_rmr (ibmr);int n; mr->nbuf =0 ;
drivers/infiniband/sw/rxe/rxe_verbs.h +12 -21
@@ -158,7 +158,7 @@ struct resp_res {struct sk_buff *skb; } atomic;struct { -struct rxe_mem *mr; +struct rxe_mr *mr;u64 va_org;u32 rkey;u32 length;
@@ -185,7 +185,7 @@ struct rxe_resp_info {/* RDMA read / atomic only */ u64 va; -struct rxe_mem *mr; +struct rxe_mr *mr;u32 resid;u32 rkey;u32 length;
@@ -271,12 +271,11 @@ enum rxe_mem_state { RXE_MEM_STATE_VALID, }; -enum rxe_mem_type { -RXE_MEM_TYPE_NONE , -RXE_MEM_TYPE_DMA , -RXE_MEM_TYPE_MR , -RXE_MEM_TYPE_FMR , -RXE_MEM_TYPE_MW , +enum rxe_mr_type { +RXE_MR_TYPE_NONE , +RXE_MR_TYPE_DMA , +RXE_MR_TYPE_MR , +RXE_MR_TYPE_FMR , };#define RXE_BUF_PER_MAP (PAGE_SIZE / sizeof(struct rxe_phys_buf))
@@ -290,12 +289,9 @@ struct rxe_map {struct rxe_phys_buf buf[RXE_BUF_PER_MAP ]; }; -struct rxe_mem { +struct rxe_mr {struct rxe_pool_entry pelem; -union { -struct ib_mr ibmr; -struct ib_mw ibmw; - }; +struct ib_mr ibmr;struct rxe_pd *pd;struct ib_umem *umem;
@@ -304,7 +300,7 @@ struct rxe_mem {u32 rkey;enum rxe_mem_state state; -enum rxe_mem_type type; +enum rxe_mr_type type;u64 va;u64 iova;size_t length;
@@ -431,14 +427,9 @@ static inline struct rxe_cq *to_rcq(struct ib_cq *cq) return cq ? container_of(cq, struct rxe_cq, ibcq) : NULL; } -static inline struct rxe_mem *to_rmr (struct ib_mr *mr) -{ - return mr ? container_of(mr, struct rxe_mem, ibmr) : NULL; -} - -static inline struct rxe_mem *to_rmw (struct ib_mw *mw) +static inline struct rxe_mr *to_rmr (struct ib_mr *mr) { - return mw ? container_of(mw, struct rxe_mem, ibmw) : NULL; + return mr ? container_of(mr, struct rxe_mr, ibmr) : NULL; }int rxe_register_device (struct rxe_dev *rxe,const char *ibdev_name);
Signature · 1 line
2.25.1
PATCH v2 8/16 rdma_rxe: Added mw object
In reply to Bob PearsonSet max_mw device attribute.
Changed rxe_param.c so we can create mw objects (RXE_MAX_MW != 0). Changed mw_pool.c to use struct rxe_mw size for the mw pool. Added new mw struct to rxe_verbs.h. Can share state enum with mr.
--- drivers/infiniband/sw/rxe/rxe.c | 1 + drivers/infiniband/sw/rxe/rxe_param.h | 10 ++++++---- drivers/infiniband/sw/rxe/rxe_pool.c | 2 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 13 +++++++++++++ 4 files changed, 21 insertions(+), 5 deletions(-)
drivers/infiniband/sw/rxe/rxe.c +1 -0
@@ -64,6 +64,7 @@ static void rxe_init_device_param(struct rxe_dev *rxe) rxe->attr.max_cq =RXE_MAX_CQ ; rxe->attr.max_cqe = (1 <<RXE_MAX_LOG_CQE ) -1 ; rxe->attr.max_mr =RXE_MAX_MR ; + rxe->attr.max_mw =RXE_MAX_MW ; rxe->attr.max_pd =RXE_MAX_PD ; rxe->attr.max_qp_rd_atom =RXE_MAX_QP_RD_ATOM ; rxe->attr.max_res_rd_atom =RXE_MAX_RES_RD_ATOM ;
drivers/infiniband/sw/rxe/rxe_param.h +6 -4
@@ -60,7 +60,8 @@ enum rxe_device_param {RXE_MAX_SGE_RD =32 ,RXE_MAX_CQ =16384 ,RXE_MAX_LOG_CQE =15 , -RXE_MAX_MR =256 *1024 , +RXE_MAX_MR =0x40000 , +RXE_MAX_MW =0x40000 ,RXE_MAX_PD =0x7ffc ,RXE_MAX_QP_RD_ATOM =128 , RXE_MAX_RES_RD_ATOM = 0x3f000,
@@ -89,9 +90,10 @@ enum rxe_device_param {RXE_MAX_SRQ_INDEX =0x00040000 ,RXE_MIN_MR_INDEX =0x00000001 , -RXE_MAX_MR_INDEX =0x00040000 , -RXE_MIN_MW_INDEX =0x00040001 , -RXE_MAX_MW_INDEX =0x00060000 , +RXE_MAX_MR_INDEX =RXE_MIN_MR_INDEX +RXE_MAX_MR -1 , +RXE_MIN_MW_INDEX =RXE_MIN_MR_INDEX +RXE_MAX_MR , +RXE_MAX_MW_INDEX =RXE_MIN_MW_INDEX +RXE_MAX_MW -1 , +RXE_MAX_PKT_PER_ACK =64 , RXE_MAX_UNACKED_PSNS = 128,
drivers/infiniband/sw/rxe/rxe_pool.c +1 -1
@@ -60,7 +60,7 @@ struct rxe_type_info rxe_type_info[RXE_NUM_TYPES] = { }, [RXE_TYPE_MW] = { .name = "rxe-mw", - .size = sizeof(struct rxe_mr), + .size = sizeof(struct rxe_mw), .flags = RXE_POOL_INDEX, .max_index = RXE_MAX_MW_INDEX, .min_index = RXE_MIN_MW_INDEX,
drivers/infiniband/sw/rxe/rxe_verbs.h +13 -0
@@ -264,6 +264,7 @@ struct rxe_qp {struct execute_work cleanup_work; }; +/* common state values for mr and mw */ enum rxe_mem_state {RXE_MEM_STATE_ZOMBIE ,RXE_MEM_STATE_INVALID ,
@@ -321,6 +322,18 @@ struct rxe_mr {struct rxe_map **map; }; +struct rxe_mw { +struct rxe_pool_entry pelem; +struct ib_mw ibmw; +struct rxe_qp *qp;/* type 2B only */ +struct rxe_mem *mr; +spinlock_t lock; +enum rxe_mem_state state; +u32 access; +u64 addr; +u64 length; +}; +struct rxe_mc_grp {struct rxe_pool_entry pelem;spinlock_t mcg_lock;/* guard group */
Signature · 1 line
2.25.1
PATCH v2 9/16 rdma_rxe: Extended pools to support both keys and indices
In reply to Bob PearsonAllowed both indices and keys to exist for objects in the pools. Previously you were limited to one or the other. This will support allowing the keys on MWs to change.
--- drivers/infiniband/sw/rxe/rxe_pool.c | 73 ++++++++++++++-------------- drivers/infiniband/sw/rxe/rxe_pool.h | 32 +++++++----- 2 files changed, 58 insertions(+), 47 deletions(-)
drivers/infiniband/sw/rxe/rxe_pool.c +37 -36
@@ -152,18 +152,18 @@ static int rxe_pool_init_index(struct rxe_pool *pool, u32 max, u32 min) goto out; } - pool->max_index = max; - pool->min_index = min; + pool->index.max_index = max; + pool->index.min_index = min; size =BITS_TO_LONGS (max - min +1 ) *sizeof (long ); - pool->table =kmalloc (size,GFP_KERNEL ); -if (!pool->table) { + pool->index.table =kmalloc (size,GFP_KERNEL ); +if (!pool->index.table) { err = -ENOMEM ; goto out; } - pool->table_size = size; -bitmap_zero (pool->table, max - min +1 ); + pool->index.table_size = size; +bitmap_zero (pool->index.table, max - min +1 ); out:return err;
@@ -185,7 +185,8 @@ int rxe_pool_init( pool->max_elem = max_elem; pool->elem_size =ALIGN (size,RXE_POOL_ALIGN ); pool->flags = rxe_type_info[type].flags; - pool->tree =RB_ROOT ; + pool->index.tree =RB_ROOT ; + pool->key.tree =RB_ROOT ; pool->cleanup = rxe_type_info[type].cleanup;atomic_set (&pool->num_elem,0 );
@@ -203,8 +204,8 @@ int rxe_pool_init( }if (rxe_type_info[type].flags &RXE_POOL_KEY ) { - pool->key_offset = rxe_type_info[type].key_offset; - pool->key_size = rxe_type_info[type].key_size; + pool->key.key_offset = rxe_type_info[type].key_offset; + pool->key.key_size = rxe_type_info[type].key_size; } pool->state =RXE_POOL_STATE_VALID ;
@@ -218,7 +219,7 @@ static void rxe_pool_release(struct kref *kref) struct rxe_pool *pool = container_of(kref, struct rxe_pool, ref_cnt); pool->state =RXE_POOL_STATE_INVALID ; -kfree (pool->table); +kfree (pool->index.table); }static void rxe_pool_put (struct rxe_pool *pool)
@@ -243,27 +244,27 @@ void rxe_pool_cleanup(struct rxe_pool *pool)static u32 alloc_index (struct rxe_pool *pool) {u32 index; -u32 range = pool->max_index - pool->min_index +1 ; +u32 range = pool->index.max_index - pool->index.min_index +1 ; - index =find_next_zero_bit (pool->table, range, pool->last); + index =find_next_zero_bit (pool->index.table, range, pool->index.last);if (index >= range) - index =find_first_zero_bit (pool->table, range); + index =find_first_zero_bit (pool->index.table, range);WARN_ON_ONCE (index >= range); -set_bit (index, pool->table); - pool->last = index; -return index + pool->min_index; +set_bit (index, pool->index.table); + pool->index.last = index; +return index + pool->index.min_index; }static void insert_index (struct rxe_pool *pool,struct rxe_pool_entry *new) { -struct rb_node **link = &pool->tree.rb_node; +struct rb_node **link = &pool->index.tree.rb_node;struct rb_node *parent =NULL ;struct rxe_pool_entry *elem;while (*link) { parent = *link; - elem = rb_entry(parent, struct rxe_pool_entry, node); + elem = rb_entry(parent, struct rxe_pool_entry, index_node);if (elem->index == new->index) {pr_warn ("element already exists!\n" );
@@ -276,25 +277,25 @@ static void insert_index(struct rxe_pool *pool, struct rxe_pool_entry *new) link = &(*link)->rb_right; } -rb_link_node (&new->node, parent, link); -rb_insert_color (&new->node, &pool->tree); +rb_link_node (&new->index_node, parent, link); +rb_insert_color (&new->index_node, &pool->index.tree); out:return ; }static void insert_key (struct rxe_pool *pool,struct rxe_pool_entry *new) { -struct rb_node **link = &pool->tree.rb_node; +struct rb_node **link = &pool->key.tree.rb_node;struct rb_node *parent =NULL ;struct rxe_pool_entry *elem;int cmp;while (*link) { parent = *link; - elem = rb_entry(parent, struct rxe_pool_entry, node); + elem = rb_entry(parent, struct rxe_pool_entry, key_node); - cmp =memcmp ((u8 *)elem + pool->key_offset, - (u8 *)new + pool->key_offset, pool->key_size); + cmp =memcmp ((u8 *)elem + pool->key.key_offset, + (u8 *)new + pool->key.key_offset, pool->key.key_size);if (cmp ==0 ) {pr_warn ("key already exists!\n" );
@@ -307,8 +308,8 @@ static void insert_key(struct rxe_pool *pool, struct rxe_pool_entry *new) link = &(*link)->rb_right; } -rb_link_node (&new->node, parent, link); -rb_insert_color (&new->node, &pool->tree); +rb_link_node (&new->key_node, parent, link); +rb_insert_color (&new->key_node, &pool->key.tree); out:return ; }
@@ -320,7 +321,7 @@ void rxe_add_key(void *arg, void *key)unsigned long flags;write_lock_irqsave (&pool->pool_lock, flags); -memcpy ((u8 *)elem + pool->key_offset, key, pool->key_size); +memcpy ((u8 *)elem + pool->key.key_offset, key, pool->key.key_size);insert_key (pool, elem);write_unlock_irqrestore (&pool->pool_lock, flags); }
@@ -332,7 +333,7 @@ void rxe_drop_key(void *arg)unsigned long flags;write_lock_irqsave (&pool->pool_lock, flags); -rb_erase (&elem->node, &pool->tree); +rb_erase (&elem->key_node, &pool->key.tree);write_unlock_irqrestore (&pool->pool_lock, flags); }
@@ -355,8 +356,8 @@ void rxe_drop_index(void *arg)unsigned long flags;write_lock_irqsave (&pool->pool_lock, flags); -clear_bit (elem->index - pool->min_index, pool->table); -rb_erase (&elem->node, &pool->tree); +clear_bit (elem->index - pool->index.min_index, pool->index.table); +rb_erase (&elem->index_node, &pool->index.tree);write_unlock_irqrestore (&pool->pool_lock, flags); }
@@ -460,10 +461,10 @@ void *rxe_pool_get_index(struct rxe_pool *pool, u32 index)if (pool->state !=RXE_POOL_STATE_VALID ) goto out; - node = pool->tree.rb_node; + node = pool->index.tree.rb_node;while (node) { - elem = rb_entry(node, struct rxe_pool_entry, node); + elem = rb_entry(node, struct rxe_pool_entry, index_node);if (elem->index > index) node = node->rb_left;
@@ -492,13 +493,13 @@ void *rxe_pool_get_key(struct rxe_pool *pool, void *key)if (pool->state !=RXE_POOL_STATE_VALID ) goto out; - node = pool->tree.rb_node; + node = pool->key.tree.rb_node;while (node) { - elem = rb_entry(node, struct rxe_pool_entry, node); + elem = rb_entry(node, struct rxe_pool_entry, key_node); - cmp =memcmp ((u8 *)elem + pool->key_offset, - key, pool->key_size); + cmp =memcmp ((u8 *)elem + pool->key.key_offset, + key, pool->key.key_size);if (cmp >0 ) node = node->rb_left;
drivers/infiniband/sw/rxe/rxe_pool.h +21 -11
@@ -59,8 +59,11 @@ struct rxe_pool_entry {struct kref ref_cnt;struct list_head list; -/* only used if indexed or keyed */ -struct rb_node node; +/* only used if keyed */ +struct rb_node key_node; + +/* only used if indexed */ +struct rb_node index_node;u32 index; };
@@ -77,15 +80,22 @@ struct rxe_pool {unsigned int max_elem;atomic_t num_elem; -/* only used if indexed or keyed */ -struct rb_root tree; -unsigned long *table; -size_t table_size; -u32 max_index; -u32 min_index; -u32 last; -size_t key_offset; -size_t key_size; +/* only used if indexed */ +struct { +struct rb_root tree; +unsigned long *table; +size_t table_size; +u32 last; +u32 max_index; +u32 min_index; + } index; + +/* only used if keyed */ +struct { +struct rb_root tree; +size_t key_offset; +size_t key_size; + } key; };/* initialize slab caches for managed objects */
Signature · 1 line
2.25.1
PATCH v2 10/16 rdma_rxe: Implemented functional alloc_mw and dealloc_mw APIs
In reply to Bob PearsonCreated basic functional alloc_mw and dealloc_mw funnctions. This change supports running user space test cases for these APIs.
--- drivers/infiniband/sw/rxe/rxe_mw.c | 55 +++++++++++++++++++++++++-- drivers/infiniband/sw/rxe/rxe_pool.c | 3 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 5 +++ 3 files changed, 58 insertions(+), 5 deletions(-)
drivers/infiniband/sw/rxe/rxe_mw.c +51 -4
@@ -8,15 +8,62 @@#include "rxe.h" #include "rxe_loc.h" +/* this temporary code to test ibv_alloc_mw, ibv_dealloc_mw */ struct ib_mw *rxe_alloc_mw (struct ib_pd *ibpd,enum ib_mw_type type,struct ib_udata *udata) { -pr_err_once ("%s: not implemented\n" , __func__); -return ERR_PTR (-EINVAL ); +struct rxe_pd *pd =to_rpd (ibpd); +struct rxe_dev *rxe =to_rdev (ibpd->device); +struct rxe_mw *mw; +u32 rkey; + +if (unlikely ((type !=IB_MW_TYPE_1 ) && + (type !=IB_MW_TYPE_2 ))) +return ERR_PTR (-EINVAL ); + +rxe_add_ref (pd); + + mw =rxe_alloc (&rxe->mw_pool); +if (unlikely (!mw)) { +rxe_drop_ref (pd); +return ERR_PTR (-ENOMEM ); + } + +/* pick a random rkey for now */ +get_random_bytes (&rkey,sizeof (rkey)); + +rxe_add_index (mw); +rxe_add_key (mw, &rkey); + +spin_lock_init (&mw->lock); + mw->qp =NULL ; + mw->mr =NULL ; + mw->addr =0 ; + mw->length =0 ; + mw->ibmw.pd = ibpd; + mw->ibmw.type = type; + mw->ibmw.rkey = rkey; + mw->state = (type ==IB_MW_TYPE_2 ) ? +RXE_MEM_STATE_FREE : +RXE_MEM_STATE_VALID ; + +return &mw->ibmw; }int rxe_dealloc_mw (struct ib_mw *ibmw) { -pr_err_once ("%s: not implemented\n" , __func__); -return -EINVAL ; +struct rxe_mw *mw =to_rmw (ibmw); +struct rxe_pd *pd =to_rpd (ibmw->pd); +unsigned long flags; + +spin_lock_irqsave (&mw->lock, flags); + mw->state =RXE_MEM_STATE_INVALID ; +spin_unlock_irqrestore (&mw->lock, flags); + +rxe_drop_ref (pd); +rxe_drop_index (mw); +rxe_drop_key (mw); +rxe_drop_ref (mw); + +return 0 ; }
drivers/infiniband/sw/rxe/rxe_pool.c +2 -1
@@ -61,7 +61,8 @@ struct rxe_type_info rxe_type_info[RXE_NUM_TYPES] = { [RXE_TYPE_MW] = { .name = "rxe-mw", .size = sizeof(struct rxe_mw), - .flags = RXE_POOL_INDEX, + .flags =RXE_POOL_INDEX + | RXE_POOL_KEY, .max_index = RXE_MAX_MW_INDEX, .min_index = RXE_MIN_MW_INDEX, },
drivers/infiniband/sw/rxe/rxe_verbs.h +5 -0
@@ -445,6 +445,11 @@ static inline struct rxe_mr *to_rmr(struct ib_mr *mr) return mr ? container_of(mr, struct rxe_mr, ibmr) : NULL; } +static inline struct rxe_mw *to_rmw (struct ib_mw *mw) +{ + return mw ? container_of(mw, struct rxe_mw, ibmw) : NULL; +} +int rxe_register_device (struct rxe_dev *rxe,const char *ibdev_name);void rxe_mc_cleanup (struct rxe_pool_entry *arg);
Signature · 1 line
2.25.1
PATCH v2 11/16 rdma_rxe: Address an issue with hardened user copy
In reply to Bob PearsonAdded a new feature to pools to let driver white list a region of a pool object. This removes a kernel oops caused when create qp returns the qp number so the next patch will work without errors.
--- drivers/infiniband/sw/rxe/rxe_pool.c | 20 +++++++++++++++++--- drivers/infiniband/sw/rxe/rxe_pool.h | 4 ++++ 2 files changed, 21 insertions(+), 3 deletions(-)
drivers/infiniband/sw/rxe/rxe_pool.c +17 -3
@@ -40,9 +40,12 @@ struct rxe_type_info rxe_type_info[RXE_NUM_TYPES] = { .name = "rxe-qp", .size = sizeof(struct rxe_qp), .cleanup = rxe_qp_cleanup, - .flags = RXE_POOL_INDEX, + .flags =RXE_POOL_INDEX + | RXE_POOL_WHITELIST, .min_index = RXE_MIN_QP_INDEX, .max_index = RXE_MAX_QP_INDEX, + .user_offset = offsetof(struct rxe_qp, ibqp.qp_num), + .user_size = sizeof(u32), }, [RXE_TYPE_CQ] = { .name = "rxe-cq",
@@ -116,10 +119,21 @@ int rxe_cache_init(void) type = &rxe_type_info[i]; size =ALIGN (type->size,RXE_POOL_ALIGN );if (!(type->flags &RXE_POOL_NO_ALLOC )) { - type->cache = -kmem_cache_create (type->name, size, +if (type->flags &RXE_POOL_WHITELIST ) { + type->cache = +kmem_cache_create_usercopy ( + type->name, size, +RXE_POOL_ALIGN , +RXE_POOL_CACHE_FLAGS , + type->user_offset, + type->user_size,NULL ); + }else { + type->cache = +kmem_cache_create (type->name, size,RXE_POOL_ALIGN ,RXE_POOL_CACHE_FLAGS ,NULL ); + } +if (!type->cache) {pr_err ("Unable to init kmem cache for %s\n" , type->name);
drivers/infiniband/sw/rxe/rxe_pool.h +4 -0
@@ -17,6 +17,7 @@ enum rxe_pool_flags {RXE_POOL_INDEX =BIT (1 ),RXE_POOL_KEY =BIT (2 ),RXE_POOL_NO_ALLOC =BIT (4 ), + RXE_POOL_WHITELIST = BIT(5), }; enum rxe_elem_type {
@@ -44,6 +45,9 @@ struct rxe_type_info {u32 min_index;size_t key_offset;size_t key_size; +/* for white listing where necessary */ +unsigned int user_offset; +unsigned int user_size;struct kmem_cache *cache; };
Signature · 1 line
2.25.1
PATCH v2 12/16 rdma_rxe: Added bind mw API stub
In reply to Bob PearsonIn rxe_opcode.c
Added bind MW WR opcode
Changed RXE_REG_MASK to RXE_LOCAL_MASK since it refers to local wqe commands generally.
In rxe_req.c
Added a local bind MW operation
Changes the error returns to each have a separate status. Fixed a bug which caused rxe_comp to not report bind errors in WCs. Noted a couple of more unrelated bugs for later fix up.
In rxe_mw.c
Added a stub for bind_mw
--- drivers/infiniband/sw/rxe/rxe_comp.c | 1 + drivers/infiniband/sw/rxe/rxe_loc.h | 1 + drivers/infiniband/sw/rxe/rxe_mw.c | 6 ++ drivers/infiniband/sw/rxe/rxe_opcode.c | 11 ++- drivers/infiniband/sw/rxe/rxe_opcode.h | 1 - drivers/infiniband/sw/rxe/rxe_req.c | 92 +++++++++++++++++++------- drivers/infiniband/sw/rxe/rxe_verbs.c | 2 +- 7 files changed, 85 insertions(+), 29 deletions(-)
drivers/infiniband/sw/rxe/rxe_comp.c +1 -0
@@ -105,6 +105,7 @@ static enum ib_wc_opcode wr_to_wc_opcode(enum ib_wr_opcode opcode)case IB_WR_RDMA_READ_WITH_INV :return IB_WC_RDMA_READ ;case IB_WR_LOCAL_INV :return IB_WC_LOCAL_INV ;case IB_WR_REG_MR :return IB_WC_REG_MR ; +case IB_WR_BIND_MW :return IB_WC_BIND_MW ;default :return 0xff ;
drivers/infiniband/sw/rxe/rxe_loc.h +1 -0
@@ -118,6 +118,7 @@ int advance_dma_data(struct rxe_dma_info *dma, unsigned int length);struct ib_mw *rxe_alloc_mw (struct ib_pd *ibpd,enum ib_mw_type type,struct ib_udata *udata);int rxe_dealloc_mw (struct ib_mw *ibmw); +int rxe_bind_mw (struct rxe_qp *qp,struct rxe_send_wqe *wqe);/* rxe_net.c */ void rxe_loopback (struct sk_buff *skb);
drivers/infiniband/sw/rxe/rxe_mw.c +6 -0
@@ -67,3 +67,9 @@ int rxe_dealloc_mw(struct ib_mw *ibmw)return 0 ; } + +int rxe_bind_mw (struct rxe_qp *qp,struct rxe_send_wqe *wqe) +{ +pr_err_once ("%s: not implemented\n" , __func__); +return -EINVAL ; +}
drivers/infiniband/sw/rxe/rxe_opcode.c +9 -2
@@ -89,13 +89,20 @@ struct rxe_wr_opcode_info rxe_wr_opcode_info[] = { [IB_WR_LOCAL_INV ] = { .name ="IB_WR_LOCAL_INV" , .mask = { - [IB_QPT_RC ] =WR_REG_MASK , + [IB_QPT_RC ] =WR_LOCAL_MASK , }, }, [IB_WR_REG_MR ] = { .name ="IB_WR_REG_MR" , .mask = { - [IB_QPT_RC ] =WR_REG_MASK , + [IB_QPT_RC ] =WR_LOCAL_MASK , + }, + }, + [IB_WR_BIND_MW ] = { + .name ="IB_WR_BIND_MW" , + .mask = { + [IB_QPT_RC ] =WR_LOCAL_MASK , + [IB_QPT_UC ] =WR_LOCAL_MASK , }, }, };
drivers/infiniband/sw/rxe/rxe_opcode.h +0 -1
@@ -22,7 +22,6 @@ enum rxe_wr_mask {WR_READ_MASK =BIT (3 ),WR_WRITE_MASK =BIT (4 ),WR_LOCAL_MASK =BIT (5 ), -WR_REG_MASK =BIT (6 ),WR_READ_OR_WRITE_MASK =WR_READ_MASK |WR_WRITE_MASK , WR_READ_WRITE_OR_SEND_MASK = WR_READ_OR_WRITE_MASK | WR_SEND_MASK,
drivers/infiniband/sw/rxe/rxe_req.c +67 -25
158 lines not on this page · raw message
drivers/infiniband/sw/rxe/rxe_verbs.c +1 -1
@@ -579,7 +579,7 @@ static int init_send_wqe(struct rxe_qp *qp, const struct ib_send_wr *ibwr, qp_type(qp) == IB_QPT_GSI)memcpy (&wqe->av, &to_rah (ud_wr (ibwr)->ah)->av,sizeof (wqe->av)); -if (mask &WR_REG_MASK ) { +if (mask &WR_LOCAL_MASK ) { wqe->mask = mask; wqe->state = wqe_state_posted;return 0 ;
Signature · 1 line
2.25.1
PATCH v2 13/16 rdma_rxe: Give MR and MW objects indices and keys
In reply to Bob PearsonGive each MR and each MW an index and a key.
Added a random key generator for each type.
Added responses for ibv_reg_mr and ibv_alloc_mw with the assigned indices so other verbs can refer to them by index. Changed key lookups to rxe_pool_get_key instead of rxe_pool_get_index.
--- drivers/infiniband/sw/rxe/rxe_loc.h | 1 + drivers/infiniband/sw/rxe/rxe_mr.c | 80 +++++++++++++-------------- drivers/infiniband/sw/rxe/rxe_mw.c | 49 ++++++++++++++-- drivers/infiniband/sw/rxe/rxe_pool.c | 32 ++++++----- drivers/infiniband/sw/rxe/rxe_pool.h | 2 +- drivers/infiniband/sw/rxe/rxe_req.c | 6 +- drivers/infiniband/sw/rxe/rxe_resp.c | 4 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 57 ++++++++++--------- drivers/infiniband/sw/rxe/rxe_verbs.h | 3 + include/uapi/rdma/rdma_user_rxe.h | 10 ++++ 10 files changed, 153 insertions(+), 91 deletions(-)
drivers/infiniband/sw/rxe/rxe_loc.h +1 -0
@@ -119,6 +119,7 @@ struct ib_mw *rxe_alloc_mw(struct ib_pd *ibpd, enum ib_mw_type type, struct ib_udata *udata);int rxe_dealloc_mw (struct ib_mw *ibmw);int rxe_bind_mw (struct rxe_qp *qp,struct rxe_send_wqe *wqe); +void rxe_mw_cleanup (struct rxe_pool_entry *arg);/* rxe_net.c */ void rxe_loopback (struct sk_buff *skb);
drivers/infiniband/sw/rxe/rxe_mr.c +40 -40
109 lines not on this page · raw message
drivers/infiniband/sw/rxe/rxe_mw.c +43 -6
83 lines not on this page · raw message
drivers/infiniband/sw/rxe/rxe_pool.c +19 -13
@@ -9,15 +9,12 @@#include "rxe.h" #include "rxe_loc.h" -/* info about object pools -* note that mr and mw share a single index space -* so that one can map an lkey to the correct type of object -*/ +/* info about object pools */ struct rxe_type_info rxe_type_info[RXE_NUM_TYPES ] = { [RXE_TYPE_UC ] = { .name ="rxe-uc" , .size =sizeof (struct rxe_ucontext ), - .flags =RXE_POOL_NO_ALLOC , + .flags =RXE_POOL_NO_ALLOC , }, [RXE_TYPE_PD ] = { .name ="rxe-pd" ,
@@ -50,24 +47,30 @@ struct rxe_type_info rxe_type_info[RXE_NUM_TYPES] = { [RXE_TYPE_CQ] = { .name = "rxe-cq", .size = sizeof(struct rxe_cq), - .flags = RXE_POOL_NO_ALLOC, + .flags = RXE_POOL_NO_ALLOC, .cleanup = rxe_cq_cleanup, }, [RXE_TYPE_MR] = { .name = "rxe-mr", .size = sizeof(struct rxe_mr), .cleanup = rxe_mr_cleanup, - .flags = RXE_POOL_INDEX, + .flags =RXE_POOL_INDEX + | RXE_POOL_KEY, .max_index = RXE_MAX_MR_INDEX, .min_index = RXE_MIN_MR_INDEX, + .key_offset = offsetof(struct rxe_mr, ibmr.lkey), + .key_size = sizeof(u32), }, [RXE_TYPE_MW] = { .name = "rxe-mw", .size = sizeof(struct rxe_mw), + .cleanup = rxe_mw_cleanup, .flags =RXE_POOL_INDEX | RXE_POOL_KEY, .max_index = RXE_MAX_MW_INDEX, .min_index = RXE_MIN_MW_INDEX, + .key_offset = offsetof(struct rxe_mw, ibmw.rkey), + .key_size = sizeof(u32), }, [RXE_TYPE_MC_GRP] = { .name = "rxe-mc_grp",
@@ -298,7 +301,7 @@ static void insert_index(struct rxe_pool *pool, struct rxe_pool_entry *new)return ; } -static void insert_key (struct rxe_pool *pool,struct rxe_pool_entry *new) +static int insert_key (struct rxe_pool *pool,struct rxe_pool_entry *new) {struct rb_node **link = &pool->key.tree.rb_node;struct rb_node *parent =NULL ;
@@ -314,7 +317,7 @@ static void insert_key(struct rxe_pool *pool, struct rxe_pool_entry *new)if (cmp ==0 ) {pr_warn ("key already exists!\n" ); - goto out; +return -EAGAIN ; }if (cmp >0 )
@@ -325,20 +328,23 @@ static void insert_key(struct rxe_pool *pool, struct rxe_pool_entry *new)rb_link_node (&new->key_node, parent, link);rb_insert_color (&new->key_node, &pool->key.tree); -out: -return ; + +return 0 ; } -void rxe_add_key (void *arg,void *key) +int rxe_add_key (void *arg,void *key) { +int ret;struct rxe_pool_entry *elem = arg;struct rxe_pool *pool = elem->pool;unsigned long flags;write_lock_irqsave (&pool->pool_lock, flags);memcpy ((u8 *)elem + pool->key.key_offset, key, pool->key.key_size); -insert_key (pool, elem); + ret =insert_key (pool, elem);write_unlock_irqrestore (&pool->pool_lock, flags); + +return ret; }void rxe_drop_key (void *arg)
drivers/infiniband/sw/rxe/rxe_pool.h +1 -1
@@ -135,7 +135,7 @@ void rxe_drop_index(void *elem);/* assign a key to a keyed object and insert object into * pool's rb tree */ -void rxe_add_key (void *elem,void *key); +int rxe_add_key (void *elem,void *key);/* remove elem from rb tree */ void rxe_drop_key (void *elem);
drivers/infiniband/sw/rxe/rxe_req.c +3 -3
@@ -604,13 +604,13 @@ int rxe_requester(void *arg)if (wqe->mask &WR_LOCAL_MASK ) {switch (wqe->wr.opcode) {case IB_WR_LOCAL_INV : - mr =rxe_pool_get_index (&rxe->mr_pool, - wqe->wr.ex.invalidate_rkey >>8 ); + mr =rxe_pool_get_key (&rxe->mr_pool, + &wqe->wr.ex.invalidate_rkey);if (!mr) {pr_err ("No mr for key %#x\n" , wqe->wr.ex.invalidate_rkey); wqe->state = wqe_state_error; - wqe->status =IB_WC_MW_BIND_ERR ; + wqe->status =IB_WC_LOC_QP_OP_ERR ;/* TODO this should be goto err */ goto exit; }
drivers/infiniband/sw/rxe/rxe_resp.c +2 -2
@@ -890,8 +890,8 @@ static enum resp_states do_complete(struct rxe_qp *qp, wc->wc_flags |=IB_WC_WITH_INVALIDATE ; wc->ex.invalidate_rkey =ieth_rkey (pkt); - rmr =rxe_pool_get_index (&rxe->mr_pool, - wc->ex.invalidate_rkey >>8 ); + rmr =rxe_pool_get_key (&rxe->mr_pool, + &wc->ex.invalidate_rkey);if (unlikely (!rmr)) {pr_err ("Bad rkey %#x invalidation\n" , wc->ex.invalidate_rkey);
drivers/infiniband/sw/rxe/rxe_verbs.c +31 -26
119 lines not on this page · raw message
drivers/infiniband/sw/rxe/rxe_verbs.h +3 -0
@@ -322,6 +322,9 @@ struct rxe_mr {struct rxe_map **map; }; +/* use high order bit to separate MW and MR rkeys */ +#define IS_MW (1 << 31) +struct rxe_mw {struct rxe_pool_entry pelem;struct ib_mw ibmw;
include/uapi/rdma/rdma_user_rxe.h +10 -0
@@ -183,4 +183,14 @@ struct rxe_modify_srq_cmd { __aligned_u64 mmap_info_addr; }; +struct rxe_reg_mr_resp { +__u32 index; +__u32 reserved; +}; + +struct rxe_alloc_mw_resp { +__u32 index; +__u32 reserved; +}; +#endif /* RDMA_USER_RXE_H */
Signature · 1 line
2.25.1
PATCH v2 14/16 rdma_rxe: Added stub for invalidate mw
In reply to Bob PearsonCleaned up calling of bind mw and invalidate mr/mw from rxe_req.c and rxe_resp.
Cleaned up reference handling for rxe_mw.c Minor cleanup of rxe_loc.h
--- drivers/infiniband/sw/rxe/rxe_loc.h | 39 +++++--------- drivers/infiniband/sw/rxe/rxe_mr.c | 7 +++ drivers/infiniband/sw/rxe/rxe_mw.c | 16 ++++-- drivers/infiniband/sw/rxe/rxe_req.c | 62 ++++++++++------------ drivers/infiniband/sw/rxe/rxe_resp.c | 76 +++++++++++++++++++-------- drivers/infiniband/sw/rxe/rxe_verbs.h | 10 ++++ 6 files changed, 123 insertions(+), 87 deletions(-)
drivers/infiniband/sw/rxe/rxe_loc.h +12 -27
@@ -73,52 +73,34 @@ struct rxe_mmap_info *rxe_create_mmap_info(struct rxe_dev *dev, u32 size,int rxe_mmap (struct ib_ucontext *context,struct vm_area_struct *vma);/* rxe_mr.c */ -enum copy_direction { - to_mr_obj, - from_mr_obj, -}; -int rxe_mr_init_dma (struct rxe_pd *pd,int access,struct rxe_mr *mr); -int rxe_mr_init_user (struct rxe_pd *pd,u64 start, -u64 length,u64 iova,int access,struct ib_udata *udata, -struct rxe_mr *mr); - +u64 length,u64 iova,int access,struct ib_udata *udata, +struct rxe_mr *mr);int rxe_mr_init_fast (struct rxe_pd *pd, -int max_pages,struct rxe_mr *mr); - +int max_pages,struct rxe_mr *mr);int rxe_mr_copy (struct rxe_mr *mr,u64 iova,void *addr, -int length,enum copy_direction dir,u32 *crcp); - +int length,enum copy_direction dir,u32 *crcp);int copy_data (struct rxe_pd *pd,int access,struct rxe_dma_info *dma,void *addr,int length,enum copy_direction dir,u32 *crcp); -void *iova_to_vaddr (struct rxe_mr *mr,u64 iova,int length); - -enum lookup_type { - lookup_local, - lookup_remote, -}; -struct rxe_mr *lookup_mr (struct rxe_pd *pd,int access,u32 key, -enum lookup_type type); - +enum lookup_type type);int mr_check_range (struct rxe_mr *mr,u64 iova,size_t length); -int rxe_mr_map_pages (struct rxe_dev *rxe,struct rxe_mr *mr, -u64 *page,int num_pages,u64 iova); - -void rxe_mr_cleanup (struct rxe_pool_entry *arg); - +u64 *page,int num_pages,u64 iova);int advance_dma_data (struct rxe_dma_info *dma,unsigned int length); +int rxe_invalidate_mr (struct rxe_qp *qp,struct rxe_mr *mr); +void rxe_mr_cleanup (struct rxe_pool_entry *arg);/* rxe_mw.c */ struct ib_mw *rxe_alloc_mw (struct ib_pd *ibpd,enum ib_mw_type type,struct ib_udata *udata);int rxe_dealloc_mw (struct ib_mw *ibmw);int rxe_bind_mw (struct rxe_qp *qp,struct rxe_send_wqe *wqe); +int rxe_invalidate_mw (struct rxe_qp *qp,struct rxe_mw *mw);void rxe_mw_cleanup (struct rxe_pool_entry *arg);/* rxe_net.c */
@@ -272,4 +254,7 @@ static inline int rxe_xmit_packet(struct rxe_qp *qp, struct rxe_pkt_info *pkt, return err; } +/* rxe_resp.c */ +int rxe_invalidate (struct rxe_qp *qp,u32 key); +#endif /* RXE_LOC_H */
drivers/infiniband/sw/rxe/rxe_mr.c +7 -0
@@ -589,6 +589,13 @@ int rxe_mr_map_pages(struct rxe_dev *rxe, struct rxe_mr *mr,return err; } +/* stub for invalidate MR */ +int rxe_invalidate_mr (struct rxe_qp *qp,struct rxe_mr *mr) +{ + mr->state =RXE_MEM_STATE_FREE ; +return 0 ; +} +void rxe_mr_cleanup (struct rxe_pool_entry *arg) {struct rxe_mr *mr =container_of (arg,typeof (*mr), pelem);
drivers/infiniband/sw/rxe/rxe_mw.c +12 -4
@@ -10,6 +10,8 @@/* choose a unique non zero random number for rkey * use high order bit to indicate MR vs MW +* chance of failure to get a new key in more +* than one pass is negligable */ static void rxe_set_mw_rkey (struct rxe_mw *mw) {
@@ -33,7 +35,6 @@ struct ib_mw *rxe_alloc_mw(struct ib_pd *ibpd, enum ib_mw_type type,struct rxe_pd *pd =to_rpd (ibpd);struct rxe_dev *rxe =to_rdev (ibpd->device);struct rxe_mw *mw; -u32 rkey;struct rxe_alloc_mw_resp __user *uresp =NULL ;if (udata) {
@@ -64,7 +65,6 @@ struct ib_mw *rxe_alloc_mw(struct ib_pd *ibpd, enum ib_mw_type type, mw->length =0 ; mw->ibmw.pd = ibpd; mw->ibmw.type = type; - mw->ibmw.rkey = rkey; mw->state = (type ==IB_MW_TYPE_2 ) ?RXE_MEM_STATE_FREE :RXE_MEM_STATE_VALID ;
@@ -84,29 +84,37 @@ struct ib_mw *rxe_alloc_mw(struct ib_pd *ibpd, enum ib_mw_type type,int rxe_dealloc_mw (struct ib_mw *ibmw) {struct rxe_mw *mw =to_rmw (ibmw); -struct rxe_pd *pd =to_rpd (ibmw->pd);unsigned long flags;spin_lock_irqsave (&mw->lock, flags); mw->state =RXE_MEM_STATE_INVALID ;spin_unlock_irqrestore (&mw->lock, flags); -rxe_drop_ref (pd);rxe_drop_ref (mw);return 0 ; } +/* stub for bind mw */ int rxe_bind_mw (struct rxe_qp *qp,struct rxe_send_wqe *wqe) {pr_err_once ("%s: not implemented\n" , __func__);return -EINVAL ; } +/* stub for invalidate MW */ +int rxe_invalidate_mw (struct rxe_qp *qp,struct rxe_mw *mw) +{ +pr_err_once ("%s: not implemented\n" , __func__); +return -EINVAL ; +} +void rxe_mw_cleanup (struct rxe_pool_entry *arg) {struct rxe_mw *mw =container_of (arg,typeof (*mw), pelem); +struct rxe_pd *pd =to_rpd (mw->ibmw.pd);rxe_drop_index (mw);rxe_drop_key (mw); +rxe_drop_ref (pd); }
drivers/infiniband/sw/rxe/rxe_req.c +27 -35
125 lines not on this page · raw message
drivers/infiniband/sw/rxe/rxe_resp.c +55 -21
132 lines not on this page · raw message
drivers/infiniband/sw/rxe/rxe_verbs.h +10 -0
@@ -264,6 +264,16 @@ struct rxe_qp {struct execute_work cleanup_work; }; +enum copy_direction { + to_mr_obj, + from_mr_obj, +}; + +enum lookup_type { + lookup_local, + lookup_remote, +}; +/* common state values for mr and mw */ enum rxe_mem_state {RXE_MEM_STATE_ZOMBIE ,
Signature · 1 line
2.25.1
PATCH v2 15/16 rdma_rxe: Added functional bind and invalidate MW ops
In reply to Bob PearsonReplaced bind MW and invalidate MW stubs with functional versions Added rules checking for these operations based on the InfiniBand architecture document.
Added an extra flags field in the rxe WQE to indicate whether the bind operation came from the ibv_bind_verbs API or the ibv_post_send API to enforce the rules on type 1 and 2 MWs.
--- drivers/infiniband/sw/rxe/rxe_mr.c | 3 +- drivers/infiniband/sw/rxe/rxe_mw.c | 288 ++++++++++++++++++++++++-- drivers/infiniband/sw/rxe/rxe_verbs.h | 9 +- include/uapi/rdma/rdma_user_rxe.h | 32 ++- 4 files changed, 314 insertions(+), 18 deletions(-)
drivers/infiniband/sw/rxe/rxe_mr.c +2 -1
@@ -601,7 +601,8 @@ void rxe_mr_cleanup(struct rxe_pool_entry *arg)struct rxe_mr *mr =container_of (arg,typeof (*mr), pelem);int i; -ib_umem_release (mr->umem); +if (mr->umem) +ib_umem_release (mr->umem);if (mr->map) {for (i =0 ; i < mr->num_map; i++)
drivers/infiniband/sw/rxe/rxe_mw.c +276 -12
331 lines not on this page · raw message
drivers/infiniband/sw/rxe/rxe_verbs.h +8 -1
@@ -329,9 +329,16 @@ struct rxe_mr {u32 max_buf;u32 num_map; +atomic_t num_mw; +struct rxe_map **map; }; +enum rxe_send_flags { +/* flag indicaes bind call came through verbs API */ +RXE_BIND_MW = (1 <<0 ), +}; +/* use high order bit to separate MW and MR rkeys */ #define IS_MW (1 << 31)
@@ -339,7 +346,7 @@ struct rxe_mw {struct rxe_pool_entry pelem;struct ib_mw ibmw;struct rxe_qp *qp;/* type 2B only */ -struct rxe_mem *mr; +struct rxe_mr *mr;spinlock_t lock;enum rxe_mem_state state;u32 access;
include/uapi/rdma/rdma_user_rxe.h +28 -4
@@ -96,12 +96,36 @@ struct rxe_send_wr {struct {__aligned_u64 addr;__aligned_u64 length; -__u32 mr_index; -__u32 mw_index; +union { +__u32 mr_index; +__aligned_u64 reserved1; + }; +union { +__u32 mw_index; +__aligned_u64 reserved2; + }; +__u32 rkey; +__u32 access; +__u32 flags; + } umw; +/* The following are only used by the kernel +* and are not part of the uapi +*/ +struct { +__aligned_u64 addr; +__aligned_u64 length; +union { +struct ib_mr *mr; +__aligned_u64 reserved1; + }; +union { +struct ib_mw *mw; +__aligned_u64 reserved2; + };__u32 rkey;__u32 access; - } bind_mw; -/* reg is only used by the kernel and is not part of the uapi */ +__u32 flags; + } kmw; struct { union { struct ib_mr *mr;
Signature · 1 line
2.25.1
kernel test robot
build botRe: [PATCH v2 15/16] rdma_rxe: Added functional bind and invalidate MW ops
Thank you for the patch! Perhaps something to improve:
Hi Bob,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v5.8]
[cannot apply to linus/master v5.9-rc1 next-20200818]
[If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Bob-Pearson/rdma_rxe-Added-SPDX-headers-to-rxe-source-files/20200819-124026 base: bcf876870b95592b52519ed4aafcf9d95999bc9c config: powerpc-allyesconfig (attached as .config) compiler: powerpc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
All warnings (new ones prefixed by >>):
drivers/infiniband/sw/rxe/rxe_mw.c: In function 'do_bind_mw':
>> drivers/infiniband/sw/rxe/rxe_mw.c:227:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
227 | int ret;
| ^~~# https://github.com/0day-ci/linux/commit/01db430643deac98d0b280d7d6a0939c5c0d7856
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Bob-Pearson/rdma_rxe-Added-SPDX-headers-to-rxe-source-files/20200819-124026 git checkout 01db430643deac98d0b280d7d6a0939c5c0d7856
vim +/ret +227 drivers/infiniband/sw/rxe/rxe_mw.c
223
224 static int do_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
225 struct rxe_mw *mw, struct rxe_mr *mr)
226 {
> 227 int ret;
228 u32 rkey;
229 u32 new_rkey;
230 struct rxe_mw *duplicate_mw;
231 struct rxe_dev *rxe = to_rdev(qp->ibqp.device);
232
233 /* key part of new rkey is provided by user for type 2
234 * and ibv_bind_mw() for type 1 MWs
235 * there is a very rare chance that the new rkey will
236 * collide with an existing MW. Return an error if this
237 * occurs
238 */
239 rkey = mw->ibmw.rkey;
240 new_rkey = (rkey & 0xffffff00) | (wqe->wr.wr.umw.rkey & 0x000000ff);
241 duplicate_mw = rxe_pool_get_key(&rxe->mw_pool, &new_rkey);
242 if (duplicate_mw) {
243 pr_err_once("new MW key is a duplicate, try another\n");
244 rxe_drop_ref(duplicate_mw);
245 return -EINVAL;
246 }
247
248 rxe_drop_key(mw);
249 ret = rxe_add_key(mw, &new_rkey);
250
251 mw->access = wqe->wr.wr.umw.access;
252 mw->state = RXE_MEM_STATE_VALID;
253 mw->addr = wqe->wr.wr.umw.addr;
254 mw->length = wqe->wr.wr.umw.length;
255
256 if (mw->mr) {
257 rxe_drop_ref(mw->mr);
258 atomic_dec(&mw->mr->num_mw);
259 mw->mr = NULL;
260 }
261
262 if (mw->length) {
263 mw->mr = mr;
264 atomic_inc(&mr->num_mw);
265 rxe_add_ref(mr);
266 }
267
268 if (mw->ibmw.type == IB_MW_TYPE_2)
269 mw->qp = qp;
270
271 return 0;
272 }
273
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
PATCH v2 16/16 rdma_rxe: Implemented read/write/atomic access to MW
In reply to Bob PearsonExtended current support for rkeys referencing MRs to include rkeys referencing MWs.
--- drivers/infiniband/sw/rxe/rxe_loc.h | 7 ++- drivers/infiniband/sw/rxe/rxe_mr.c | 84 ++++++++++++++++----------- drivers/infiniband/sw/rxe/rxe_mw.c | 44 ++++++++++++++ drivers/infiniband/sw/rxe/rxe_req.c | 3 +- drivers/infiniband/sw/rxe/rxe_resp.c | 70 ++++++++++++++++------ drivers/infiniband/sw/rxe/rxe_verbs.h | 1 + 6 files changed, 152 insertions(+), 57 deletions(-)
drivers/infiniband/sw/rxe/rxe_loc.h +4 -3
@@ -86,13 +86,12 @@ int copy_data(struct rxe_pd *pd, int access, struct rxe_dma_info *dma, void *addr, int length, enum copy_direction dir, u32 *crcp);void *iova_to_vaddr (struct rxe_mr *mr,u64 iova,int length); -struct rxe_mr *lookup_mr (struct rxe_pd *pd,int access,u32 key, -enum lookup_type type); -int mr_check_range (struct rxe_mr *mr,u64 iova,size_t length);int rxe_mr_map_pages (struct rxe_dev *rxe,struct rxe_mr *mr,u64 *page,int num_pages,u64 iova);int advance_dma_data (struct rxe_dma_info *dma,unsigned int length);int rxe_invalidate_mr (struct rxe_qp *qp,struct rxe_mr *mr); +int rxe_mr_check_access (struct rxe_qp *qp,struct rxe_mr *mr, +int access,u64 va,u32 resid);void rxe_mr_cleanup (struct rxe_pool_entry *arg);/* rxe_mw.c */
@@ -101,6 +100,8 @@ struct ib_mw *rxe_alloc_mw(struct ib_pd *ibpd, enum ib_mw_type type,int rxe_dealloc_mw (struct ib_mw *ibmw);int rxe_bind_mw (struct rxe_qp *qp,struct rxe_send_wqe *wqe);int rxe_invalidate_mw (struct rxe_qp *qp,struct rxe_mw *mw); +int rxe_mw_check_access (struct rxe_qp *qp,struct rxe_mw *mw, +int access,u64 va,u32 resid);void rxe_mw_cleanup (struct rxe_pool_entry *arg);/* rxe_net.c */
drivers/infiniband/sw/rxe/rxe_mr.c +51 -33
126 lines not on this page · raw message
drivers/infiniband/sw/rxe/rxe_mw.c +44 -0
50 lines not on this page · raw message
drivers/infiniband/sw/rxe/rxe_req.c +1 -2
@@ -761,8 +761,7 @@ int rxe_requester(void *arg) again:/* we come here if we are done with the current wqe but want to -* get called again. Mostly we loop back to next wqe so should -* be all one way or the other +* get called again. */ ret =0 ; goto done;
drivers/infiniband/sw/rxe/rxe_resp.c +51 -19
126 lines not on this page · raw message
drivers/infiniband/sw/rxe/rxe_verbs.h +1 -0
@@ -185,6 +185,7 @@ struct rxe_resp_info {/* RDMA read / atomic only */ u64 va; +u64 offset;struct rxe_mr *mr;u32 resid;u32 rkey;
Signature · 1 line
2.25.1
Quoted 4 lines · Bob Pearson
This a cleaned up resend of an earlier patch set. This set of patches implements the memory windows verbs and local send operations. Each of these has been tested at a basic level and regressions tests have been run to see that basic rxe functionality is OK.
Can you please submit the series together with standard cover-letter (git format-patch --cover-letter ..) that include diffstat and patch list.
It is helpful to see the whole picture of expected changes.
Does it pass rdma-core pyverbs tests?
Thanks
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): 20200820074116.GZ7555@unreal
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 52 lines · Bob Pearson
Quoted 51 lines · Leon Romanovsky
Quoted 15 lines · Bob Pearson
Quoted 14 lines · Leon Romanovsky
Quoted 4 lines · Bob Pearson
This a cleaned up resend of an earlier patch set. This set of patches implements the memory windows verbs and local send operations. Each of these has been tested at a basic level and regressions tests have been run to see that basic rxe functionality is OK.
Can you please submit the series together with standard cover-letter (git format-patch --cover-letter ..) that include diffstat and patch list.
It is helpful to see the whole picture of expected changes.
Does it pass rdma-core pyverbs tests?
Quoted 7 lines
Quoted 2 lines
Thanks
Leon,
Thanks for the comments. They are helpful. I haven't worked on rxe or anything else in Linux for about 6-7 years so there are a lot of things that have changed. I have a few questions that you may be able to answer.
The build robot seems to be catching things that make in the kernel tree is missing (I think.) Is there a way to check if patches will work before sending them in an email? The most recent attempt had a stray variable declaration left over from some other change but I never saw a compiler warning.
You can catch most (90%) of errors reported by kbuild if you use latest GCC compiler to prepare your patches. Latest Fedora (32) has it. Compile your code with allyesconfig, allmodconfig and allnoconfig.
Rest of errors you can find with smatch and sparse tools.
Quoted 4 lines
I had used --compose rather than --cover-letter and wondered how people got those nice [PATCH 0/N] messages. I'll give it a try.
I've never come to terms with Python (white space shouldn't carry syntax IMHO) and have no idea what pyverbs is doing. How do you run the tests you mention?
https://github.com/linux-rdma/rdma-core/blob/master/Documentation/testing.md#how-to-run-rdma-cores-tests
Bottom line:
1. Download rdma-core
2. Compile on the system with your rxe device, usebuild.shscript in source code
3. Run the tests directly from the source code./build/bin/run_tests.py-vQuoted 2 lines
I tried to get git send-email to put a version number into the subject lines with -v2 which it happily accepts but it does nothing. In the end I had to edit each email one at a time. Is there an easier way to get e.g. [PATCH v3 xx/yy]?
It is done during format-patch stage, my command line for the series is; git format-patch --cover-letter -M -C -v X --subject-prefix "PATCH $TARGET" -o
/tmp/
^^^^ version ^^^^ rdma-next or rdma-rcQuoted 1 line
Quoted 7 lines
Quoted 3 lines
Quoted 3 lines
Thanks for the help,
Bob Pearson
Interesting. I fairly easily got the tests working but have found bugs in error cases in the response state machine that I'll have to fix. The test behaves badly (perhaps on purpose) by deallocating the MWs and then banging away sending writes to the now defunct MW. The responder should nak the rkey violation but doesn't. The cause of that is that
do_completeassumes that no errors ever occur and skips out if there isn't receive wqe to complete bypassing the ACKNOWLEDGE state. This should also have been seen for MRs if anyone ever did the same thing.Bob
The run_tests.py tests are mostly running. There are four test cases that always fail (AH, and mcast) but have nothing to do with MWs. And there are occasional other failures from INIT->RTR QP transition timeouts failures. These are not reproducible and occur on various tests. I do not believe this has anything to do with the MW code either. It never gets there when it happens to be a MW case.
There were three issues with the MW code that are fixed now. One was a use before set of a pointer, one was a difference of interpretation of the IBA specs (I wasn't allowing invalidation of a MW unless it was valid), the last was was the missing acks described above.
Do you know if this is normal behavior for rxe?
I am going to post v3 patch set now.
Bob