From owner-svn-src-projects@freebsd.org Mon Nov 13 10:49:20 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C9BB7D7FDE6 for ; Mon, 13 Nov 2017 10:49:20 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 45666694AA; Mon, 13 Nov 2017 10:49:20 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vADAnJEX074531; Mon, 13 Nov 2017 10:49:19 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vADAnJff074526; Mon, 13 Nov 2017 10:49:19 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711131049.vADAnJff074526@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 13 Nov 2017 10:49:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325760 - in projects/bsd_rdma_4_9/sys: conf dev/mlx4/mlx4_ib modules/mlx4ib X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in projects/bsd_rdma_4_9/sys: conf dev/mlx4/mlx4_ib modules/mlx4ib X-SVN-Commit-Revision: 325760 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Nov 2017 10:49:20 -0000 Author: hselasky Date: Mon Nov 13 10:49:18 2017 New Revision: 325760 URL: https://svnweb.freebsd.org/changeset/base/325760 Log: Update mlx4ib(4) to Linux 4.9. Sponsored by: Mellanox Technologies Deleted: projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_exp.h projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_exp.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/user.h Modified: projects/bsd_rdma_4_9/sys/conf/files projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib.h projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_ah.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_alias_GUID.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_cm.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_cq.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_mad.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_main.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_mcg.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_mr.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_srq.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_sysfs.c projects/bsd_rdma_4_9/sys/modules/mlx4ib/Makefile Modified: projects/bsd_rdma_4_9/sys/conf/files ============================================================================== --- projects/bsd_rdma_4_9/sys/conf/files Mon Nov 13 10:45:31 2017 (r325759) +++ projects/bsd_rdma_4_9/sys/conf/files Mon Nov 13 10:49:18 2017 (r325760) @@ -4550,8 +4550,6 @@ dev/mlx4/mlx4_ib/mlx4_ib_mad.c optional mlx4ib pci o compile-with "${OFED_C}" dev/mlx4/mlx4_ib/mlx4_ib_main.c optional mlx4ib pci ofed \ compile-with "${OFED_C}" -dev/mlx4/mlx4_ib/mlx4_ib_exp.c optional mlx4ib pci ofed \ - compile-with "${OFED_C}" dev/mlx4/mlx4_ib/mlx4_ib_mr.c optional mlx4ib pci ofed \ compile-with "${OFED_C}" dev/mlx4/mlx4_ib/mlx4_ib_qp.c optional mlx4ib pci ofed \ Modified: projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib.h ============================================================================== --- projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib.h Mon Nov 13 10:45:31 2017 (r325759) +++ projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib.h Mon Nov 13 10:49:18 2017 (r325760) @@ -41,6 +41,8 @@ #include #include +#include + #include #include #include @@ -59,9 +61,6 @@ #define mlx4_ib_warn(ibdev, format, arg...) \ dev_warn((ibdev)->dma_device, MLX4_IB_DRV_NAME ": " format, ## arg) -#define mlx4_ib_info(ibdev, format, arg...) \ - dev_info((ibdev)->dma_device, MLX4_IB_DRV_NAME ": " format, ## arg) - enum { MLX4_IB_SQ_MIN_WQE_SHIFT = 6, MLX4_IB_MAX_HEADROOM = 2048 @@ -75,17 +74,25 @@ extern int mlx4_ib_sm_guid_assign; extern struct proc_dir_entry *mlx4_mrs_dir_entry; #define MLX4_IB_UC_STEER_QPN_ALIGN 1 -#define MLX4_IB_UC_MAX_NUM_QPS (256 * 1024) +#define MLX4_IB_UC_MAX_NUM_QPS 256 +enum hw_bar_type { + HW_BAR_BF, + HW_BAR_DB, + HW_BAR_CLOCK, + HW_BAR_COUNT +}; -#define MLX4_IB_MMAP_CMD_MASK 0xFF -#define MLX4_IB_MMAP_CMD_BITS 8 +struct mlx4_ib_vma_private_data { + struct vm_area_struct *vma; +}; struct mlx4_ib_ucontext { struct ib_ucontext ibucontext; struct mlx4_uar uar; struct list_head db_page_list; struct mutex db_page_mutex; + struct mlx4_ib_vma_private_data hw_bar_info[HW_BAR_COUNT]; }; struct mlx4_ib_pd { @@ -111,11 +118,6 @@ struct mlx4_ib_cq_resize { int cqe; }; -struct mlx4_shared_mr_info { - int mr_id; - struct ib_umem *umem; -}; - struct mlx4_ib_cq { struct ib_cq ibcq; struct mlx4_cq mcq; @@ -127,15 +129,22 @@ struct mlx4_ib_cq { struct ib_umem *umem; struct ib_umem *resize_umem; int create_flags; + /* List of qps that it serves.*/ + struct list_head send_qp_list; + struct list_head recv_qp_list; }; +#define MLX4_MR_PAGES_ALIGN 0x40 + struct mlx4_ib_mr { struct ib_mr ibmr; + __be64 *pages; + dma_addr_t page_map; + u32 npages; + u32 max_pages; struct mlx4_mr mmr; struct ib_umem *umem; - struct mlx4_shared_mr_info *smr_info; - atomic_t invalidated; - struct completion invalidation_comp; + size_t page_map_size; }; struct mlx4_ib_mw { @@ -143,21 +152,22 @@ struct mlx4_ib_mw { struct mlx4_mw mmw; }; -struct mlx4_ib_fast_reg_page_list { - struct ib_fast_reg_page_list ibfrpl; - __be64 *mapped_page_list; - dma_addr_t map; -}; - struct mlx4_ib_fmr { struct ib_fmr ibfmr; struct mlx4_fmr mfmr; }; +#define MAX_REGS_PER_FLOW 2 + +struct mlx4_flow_reg_id { + u64 id; + u64 mirror; +}; + struct mlx4_ib_flow { struct ib_flow ibflow; /* translating DMFS verbs sniffer rule to FW API requires two reg IDs */ - u64 reg_id[2]; + struct mlx4_flow_reg_id reg_id[MAX_REGS_PER_FLOW]; }; struct mlx4_ib_wq { @@ -172,13 +182,18 @@ struct mlx4_ib_wq { unsigned tail; }; +enum { + MLX4_IB_QP_CREATE_ROCE_V2_GSI = IB_QP_CREATE_RESERVED_START +}; + enum mlx4_ib_qp_flags { MLX4_IB_QP_LSO = IB_QP_CREATE_IPOIB_UD_LSO, MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK = IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK, - MLX4_IB_QP_CAP_CROSS_CHANNEL = IB_QP_CREATE_CROSS_CHANNEL, - MLX4_IB_QP_CAP_MANAGED_SEND = IB_QP_CREATE_MANAGED_SEND, - MLX4_IB_QP_CAP_MANAGED_RECV = IB_QP_CREATE_MANAGED_RECV, MLX4_IB_QP_NETIF = IB_QP_CREATE_NETIF_QP, + MLX4_IB_QP_CREATE_USE_GFP_NOIO = IB_QP_CREATE_USE_GFP_NOIO, + + /* Mellanox specific flags start from IB_QP_CREATE_RESERVED_START */ + MLX4_IB_ROCE_V2_GSI_QP = MLX4_IB_QP_CREATE_ROCE_V2_GSI, MLX4_IB_SRIOV_TUNNEL_QP = 1 << 30, MLX4_IB_SRIOV_SQP = 1 << 31, }; @@ -190,13 +205,6 @@ struct mlx4_ib_gid_entry { u8 port; }; -enum mlx4_ib_mmap_cmd { - MLX4_IB_MMAP_UAR_PAGE = 0, - MLX4_IB_MMAP_BLUE_FLAME_PAGE = 1, - MLX4_IB_MMAP_GET_CONTIGUOUS_PAGES = 2, - MLX4_IB_MMAP_GET_HW_CLOCK = 3, -}; - enum mlx4_ib_qp_type { /* * IB_QPT_SMI and IB_QPT_GSI have to be the first two entries @@ -287,17 +295,6 @@ struct mlx4_roce_smac_vlan_info { int update_vid; }; -struct mlx4_ib_qpg_data { - unsigned long *tss_bitmap; - unsigned long *rss_bitmap; - struct mlx4_ib_qp *qpg_parent; - int tss_qpn_base; - int rss_qpn_base; - u32 tss_child_count; - u32 rss_child_count; - u32 qpg_tss_mask_sz; -}; - struct mlx4_ib_qp { struct ib_qp ibqp; struct mlx4_qp mqp; @@ -327,22 +324,16 @@ struct mlx4_ib_qp { u8 sq_no_prefetch; u8 state; int mlx_type; - enum ib_qpg_type qpg_type; - struct mlx4_ib_qpg_data *qpg_data; struct list_head gid_list; struct list_head steering_rules; struct mlx4_ib_buf *sqp_proxy_rcv; struct mlx4_roce_smac_vlan_info pri; struct mlx4_roce_smac_vlan_info alt; - struct list_head rules_list; u64 reg_id; - int max_inline_data; - struct mlx4_bf bf; - - /* - * Experimental data - */ - int max_inlr_data; + struct list_head qps_list; + struct list_head cq_recv_list; + struct list_head cq_send_list; + struct counter_index *counter_index; }; struct mlx4_ib_srq { @@ -376,23 +367,12 @@ struct mlx4_ib_ah { #define MLX4_NOT_SET_GUID (0x00LL) #define MLX4_GUID_FOR_DELETE_VAL (~(0x00LL)) -/****************************************/ -/* ioctl codes */ -/****************************************/ -#define MLX4_IOC_MAGIC 'm' -#define MLX4_IOCHWCLOCKOFFSET _IOR(MLX4_IOC_MAGIC, 1, int) - enum mlx4_guid_alias_rec_status { MLX4_GUID_INFO_STATUS_IDLE, MLX4_GUID_INFO_STATUS_SET, - MLX4_GUID_INFO_STATUS_PENDING, }; -enum mlx4_guid_alias_rec_ownership { - MLX4_GUID_DRIVER_ASSIGN, - MLX4_GUID_SYSADMIN_ASSIGN, - MLX4_GUID_NONE_ASSIGN, /*init state of each record*/ -}; +#define GUID_STATE_NEED_PORT_INIT 0x01 enum mlx4_guid_alias_rec_method { MLX4_GUID_INFO_RECORD_SET = IB_MGMT_METHOD_SET, @@ -403,8 +383,8 @@ struct mlx4_sriov_alias_guid_info_rec_det { u8 all_recs[GUID_REC_SIZE * NUM_ALIAS_GUID_IN_REC]; ib_sa_comp_mask guid_indexes; /*indicates what from the 8 records are valid*/ enum mlx4_guid_alias_rec_status status; /*indicates the administraively status of the record.*/ - u8 method; /*set or delete*/ - enum mlx4_guid_alias_rec_ownership ownership; /*indicates who assign that alias_guid record*/ + unsigned int guids_retry_schedule[NUM_ALIAS_GUID_IN_REC]; + u64 time_to_run; }; struct mlx4_sriov_alias_guid_port_rec_det { @@ -412,6 +392,7 @@ struct mlx4_sriov_alias_guid_port_rec_det { struct workqueue_struct *wq; struct delayed_work alias_guid_work; u8 port; + u32 state_flags; struct mlx4_sriov_alias_guid *parent; struct list_head cb_list; }; @@ -461,7 +442,6 @@ struct mlx4_ib_demux_pv_ctx { struct ib_device *ib_dev; struct ib_cq *cq; struct ib_pd *pd; - struct ib_mr *mr; struct work_struct work; struct workqueue_struct *wq; struct mlx4_ib_demux_pv_qp qp[2]; @@ -473,7 +453,7 @@ struct mlx4_ib_demux_ctx { struct workqueue_struct *wq; struct workqueue_struct *ud_wq; spinlock_t ud_lock; - __be64 subnet_prefix; + atomic64_t subnet_prefix; __be64 guid_cache[128]; struct mlx4_ib_dev *dev; /* the following lock protects both mcg_table and mcg_mgid0_list */ @@ -503,13 +483,27 @@ struct mlx4_ib_sriov { struct idr pv_id_table; }; +struct gid_cache_context { + int real_index; + int refcount; +}; + +struct gid_entry { + union ib_gid gid; + enum ib_gid_type gid_type; + struct gid_cache_context *ctx; +}; + +struct mlx4_port_gid_table { + struct gid_entry gids[MLX4_MAX_PORT_GIDS]; +}; + struct mlx4_ib_iboe { spinlock_t lock; struct net_device *netdevs[MLX4_MAX_PORTS]; - struct net_device *masters[MLX4_MAX_PORTS]; - struct notifier_block nb; - struct notifier_block nb_inet; - union ib_gid gid_table[MLX4_MAX_PORTS][128]; + atomic64_t mac[MLX4_MAX_PORTS]; + struct notifier_block nb; + struct mlx4_port_gid_table gids[MLX4_MAX_PORTS]; }; struct pkey_mgt { @@ -548,15 +542,32 @@ struct mlx4_ib_iov_port { struct mlx4_ib_iov_sysfs_attr mcg_dentry; }; -struct mlx4_ib_counter { - int counter_index; - int status; +struct counter_index { + struct list_head list; + u32 index; + u8 allocated; }; +struct mlx4_ib_counters { + struct list_head counters_list; + struct mutex mutex; /* mutex for accessing counters list */ + u32 default_counter; +}; + +#define MLX4_DIAG_COUNTERS_TYPES 2 + +struct mlx4_ib_diag_counters { + const char **name; + u32 *offset; + u32 num_counters; +}; + struct mlx4_ib_dev { struct ib_device ib_dev; struct mlx4_dev *dev; int num_ports; + void __iomem *uar_map; + struct mlx4_uar priv_uar; u32 priv_pdn; MLX4_DECLARE_DOORBELL_LOCK(uar_lock); @@ -564,14 +575,14 @@ struct mlx4_ib_dev { struct ib_mad_agent *send_agent[MLX4_MAX_PORTS][2]; struct ib_ah *sm_ah[MLX4_MAX_PORTS]; spinlock_t sm_lock; + atomic64_t sl2vl[MLX4_MAX_PORTS]; struct mlx4_ib_sriov sriov; struct mutex cap_mask_mutex; bool ib_active; struct mlx4_ib_iboe iboe; - struct mlx4_ib_counter counters[MLX4_MAX_PORTS]; + struct mlx4_ib_counters counters_table[MLX4_MAX_PORTS]; int *eq_table; - int eq_added; struct kobject *iov_parent; struct kobject *ports_parent; struct kobject *dev_ports_parent[MLX4_MFUNC_MAX]; @@ -580,12 +591,22 @@ struct mlx4_ib_dev { unsigned long *ib_uc_qpns_bitmap; int steer_qpn_count; int steer_qpn_base; + int steering_support; + struct mlx4_ib_qp *qp1_proxy[MLX4_MAX_PORTS]; + /* lock when destroying qp1_proxy and getting netdev events */ + struct mutex qp1_proxy_lock[MLX4_MAX_PORTS]; + u8 bond_next_port; + /* protect resources needed as part of reset flow */ + spinlock_t reset_flow_resource_lock; + struct list_head qp_list; + struct mlx4_ib_diag_counters diag_counters[MLX4_DIAG_COUNTERS_TYPES]; }; struct ib_event_work { struct work_struct work; struct mlx4_ib_dev *ib_dev; struct mlx4_eqe ib_eqe; + int port; }; struct mlx4_ib_qp_tunnel_init_attr { @@ -595,6 +616,21 @@ struct mlx4_ib_qp_tunnel_init_attr { u8 port; }; +struct mlx4_uverbs_ex_query_device { + __u32 comp_mask; + __u32 reserved; +}; + +enum query_device_resp_mask { + QUERY_DEVICE_RESP_MASK_TIMESTAMP = 1UL << 0, +}; + +struct mlx4_uverbs_ex_query_device_resp { + __u32 comp_mask; + __u32 response_length; + __u64 hca_core_clock_offset; +}; + static inline struct mlx4_ib_dev *to_mdev(struct ib_device *ibdev) { return container_of(ibdev, struct mlx4_ib_dev, ib_dev); @@ -635,11 +671,6 @@ static inline struct mlx4_ib_mw *to_mmw(struct ib_mw * return container_of(ibmw, struct mlx4_ib_mw, ibmw); } -static inline struct mlx4_ib_fast_reg_page_list *to_mfrpl(struct ib_fast_reg_page_list *ibfrpl) -{ - return container_of(ibfrpl, struct mlx4_ib_fast_reg_page_list, ibfrpl); -} - static inline struct mlx4_ib_fmr *to_mfmr(struct ib_fmr *ibfmr) { return container_of(ibfmr, struct mlx4_ib_fmr, ibfmr); @@ -675,6 +706,13 @@ static inline struct mlx4_ib_ah *to_mah(struct ib_ah * return container_of(ibah, struct mlx4_ib_ah, ibah); } +static inline u8 mlx4_ib_bond_next_port(struct mlx4_ib_dev *dev) +{ + dev->bond_next_port = (dev->bond_next_port + 1) % dev->num_ports; + + return dev->bond_next_port + 1; +} + int mlx4_ib_init_sriov(struct mlx4_ib_dev *dev); void mlx4_ib_close_sriov(struct mlx4_ib_dev *dev); @@ -685,30 +723,22 @@ void mlx4_ib_db_unmap_user(struct mlx4_ib_ucontext *co struct ib_mr *mlx4_ib_get_dma_mr(struct ib_pd *pd, int acc); int mlx4_ib_umem_write_mtt(struct mlx4_ib_dev *dev, struct mlx4_mtt *mtt, struct ib_umem *umem); -int mlx4_ib_umem_calc_optimal_mtt_size(struct ib_umem *umem, - u64 start_va, - int *num_of_mtts); struct ib_mr *mlx4_ib_reg_user_mr(struct ib_pd *pd, u64 start, u64 length, u64 virt_addr, int access_flags, - struct ib_udata *udata, int mr_id); + struct ib_udata *udata); int mlx4_ib_dereg_mr(struct ib_mr *mr); -struct ib_mw *mlx4_ib_alloc_mw(struct ib_pd *pd, enum ib_mw_type type); -int mlx4_ib_bind_mw(struct ib_qp *qp, struct ib_mw *mw, - struct ib_mw_bind *mw_bind); +struct ib_mw *mlx4_ib_alloc_mw(struct ib_pd *pd, enum ib_mw_type type, + struct ib_udata *udata); int mlx4_ib_dealloc_mw(struct ib_mw *mw); -struct ib_mr *mlx4_ib_alloc_fast_reg_mr(struct ib_pd *pd, - int max_page_list_len); -struct ib_fast_reg_page_list *mlx4_ib_alloc_fast_reg_page_list(struct ib_device *ibdev, - int page_list_len); -void mlx4_ib_free_fast_reg_page_list(struct ib_fast_reg_page_list *page_list); - -int mlx4_ib_modify_cq(struct ib_cq *cq, - struct ib_cq_attr *cq_attr, - int cq_attr_mask); +struct ib_mr *mlx4_ib_alloc_mr(struct ib_pd *pd, + enum ib_mr_type mr_type, + u32 max_num_sg); +int mlx4_ib_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents, + unsigned int *sg_offset); +int mlx4_ib_modify_cq(struct ib_cq *cq, u16 cq_count, u16 cq_period); int mlx4_ib_resize_cq(struct ib_cq *ibcq, int entries, struct ib_udata *udata); -int mlx4_ib_ignore_overrun_cq(struct ib_cq *ibcq); struct ib_cq *mlx4_ib_create_cq(struct ib_device *ibdev, - struct ib_cq_init_attr *attr, + const struct ib_cq_init_attr *attr, struct ib_ucontext *context, struct ib_udata *udata); int mlx4_ib_destroy_cq(struct ib_cq *cq); @@ -746,11 +776,13 @@ int mlx4_ib_post_recv(struct ib_qp *ibqp, struct ib_re struct ib_recv_wr **bad_wr); int mlx4_MAD_IFC(struct mlx4_ib_dev *dev, int mad_ifc_flags, - int port, struct ib_wc *in_wc, struct ib_grh *in_grh, - void *in_mad, void *response_mad); + int port, const struct ib_wc *in_wc, const struct ib_grh *in_grh, + const void *in_mad, void *response_mad); int mlx4_ib_process_mad(struct ib_device *ibdev, int mad_flags, u8 port_num, - struct ib_wc *in_wc, struct ib_grh *in_grh, - struct ib_mad *in_mad, struct ib_mad *out_mad); + const struct ib_wc *in_wc, const struct ib_grh *in_grh, + const struct ib_mad_hdr *in, size_t in_mad_size, + struct ib_mad_hdr *out, size_t *out_mad_size, + u16 *out_mad_pkey_index); int mlx4_ib_mad_init(struct mlx4_ib_dev *dev); void mlx4_ib_mad_cleanup(struct mlx4_ib_dev *dev); @@ -768,29 +800,16 @@ int __mlx4_ib_query_pkey(struct ib_device *ibdev, u8 p int __mlx4_ib_query_gid(struct ib_device *ibdev, u8 port, int index, union ib_gid *gid, int netw_view); -int mlx4_ib_resolve_grh(struct mlx4_ib_dev *dev, const struct ib_ah_attr *ah_attr, - u8 *mac, int *is_mcast, u8 port); - -int mlx4_ib_query_if_stat(struct mlx4_ib_dev *dev, u32 counter_index, - union mlx4_counter *counter, u8 clear); - -static inline int mlx4_ib_ah_grh_present(struct mlx4_ib_ah *ah) +static inline bool mlx4_ib_ah_grh_present(struct mlx4_ib_ah *ah) { u8 port = be32_to_cpu(ah->av.ib.port_pd) >> 24 & 3; if (rdma_port_get_link_layer(ah->ibah.device, port) == IB_LINK_LAYER_ETHERNET) - return 1; + return true; return !!(ah->av.ib.g_slid & 0x80); } -static inline int mlx4_ib_qp_has_rq(struct ib_qp_init_attr *attr) -{ - if (attr->qp_type == IB_QPT_XRC_INI || attr->qp_type == IB_QPT_XRC_TGT) - return 0; - return !attr->srq; -} - int mlx4_ib_mcg_port_init(struct mlx4_ib_demux_ctx *ctx); void mlx4_ib_mcg_port_cleanup(struct mlx4_ib_demux_ctx *ctx, int destroy_wq); void clean_vf_mcast(struct mlx4_ib_demux_ctx *ctx, int slave); @@ -815,13 +834,16 @@ void mlx4_ib_tunnels_update_work(struct work_struct *w int mlx4_ib_send_to_slave(struct mlx4_ib_dev *dev, int slave, u8 port, enum ib_qp_type qpt, struct ib_wc *wc, struct ib_grh *grh, struct ib_mad *mad); + int mlx4_ib_send_to_wire(struct mlx4_ib_dev *dev, int slave, u8 port, enum ib_qp_type dest_qpt, u16 pkey_index, u32 remote_qpn, - u32 qkey, struct ib_ah_attr *attr, u8 *s_mac, struct ib_mad *mad); + u32 qkey, struct ib_ah_attr *attr, u8 *s_mac, + u16 vlan_id, struct ib_mad *mad); + __be64 mlx4_ib_get_new_demux_tid(struct mlx4_ib_demux_ctx *ctx); int mlx4_ib_demux_cm_handler(struct ib_device *ibdev, int port, int *slave, - struct ib_mad *mad, int is_eth); + struct ib_mad *mad); int mlx4_ib_multiplex_cm_handler(struct ib_device *ibdev, int port, int slave_id, struct ib_mad *mad); @@ -848,6 +870,8 @@ int add_sysfs_port_mcg_attr(struct mlx4_ib_dev *device void del_sysfs_port_mcg_attr(struct mlx4_ib_dev *device, int port_num, struct attribute *attr); ib_sa_comp_mask mlx4_ib_get_aguid_comp_mask_from_ix(int index); +void mlx4_ib_slave_alias_guid_event(struct mlx4_ib_dev *dev, int slave, + int port, int slave_init); int mlx4_ib_device_register_sysfs(struct mlx4_ib_dev *device) ; @@ -859,7 +883,16 @@ int mlx4_ib_steer_qp_alloc(struct mlx4_ib_dev *dev, in void mlx4_ib_steer_qp_free(struct mlx4_ib_dev *dev, u32 qpn, int count); int mlx4_ib_steer_qp_reg(struct mlx4_ib_dev *mdev, struct mlx4_ib_qp *mqp, int is_attach); -int mlx4_ib_query_device(struct ib_device *ibdev, - struct ib_device_attr *props); +int mlx4_ib_rereg_user_mr(struct ib_mr *mr, int flags, + u64 start, u64 length, u64 virt_addr, + int mr_access_flags, struct ib_pd *pd, + struct ib_udata *udata); +int mlx4_ib_gid_index_to_real_index(struct mlx4_ib_dev *ibdev, + u8 port_num, int index); + +void mlx4_sched_ib_sl2vl_update_work(struct mlx4_ib_dev *ibdev, + int port); + +void mlx4_ib_sl2vl_update(struct mlx4_ib_dev *mdev, int port); #endif /* MLX4_IB_H */ Modified: projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_ah.c ============================================================================== --- projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_ah.c Mon Nov 13 10:45:31 2017 (r325759) +++ projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_ah.c Mon Nov 13 10:49:18 2017 (r325760) @@ -38,28 +38,10 @@ #include #include +#include #include "mlx4_ib.h" -int mlx4_ib_resolve_grh(struct mlx4_ib_dev *dev, const struct ib_ah_attr *ah_attr, - u8 *mac, int *is_mcast, u8 port) -{ - struct in6_addr in6; - - *is_mcast = 0; - - memcpy(&in6, ah_attr->grh.dgid.raw, sizeof in6); - if (rdma_link_local_addr(&in6)) - rdma_get_ll_mac(&in6, mac); - else if (rdma_is_multicast_addr(&in6)) { - rdma_get_mcast_mac(&in6, mac); - *is_mcast = 1; - } else - return -EINVAL; - - return 0; -} - static struct ib_ah *create_ib_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr, struct mlx4_ib_ah *ah) { @@ -67,6 +49,7 @@ static struct ib_ah *create_ib_ah(struct ib_pd *pd, st ah->av.ib.port_pd = cpu_to_be32(to_mpd(pd)->pdn | (ah_attr->port_num << 24)); ah->av.ib.g_slid = ah_attr->src_path_bits; + ah->av.ib.sl_tclass_flowlabel = cpu_to_be32(ah_attr->sl << 28); if (ah_attr->ah_flags & IB_AH_GRH) { ah->av.ib.g_slid |= 0x80; ah->av.ib.gid_index = ah_attr->grh.sgid_index; @@ -84,7 +67,6 @@ static struct ib_ah *create_ib_ah(struct ib_pd *pd, st !(1 << ah->av.ib.stat_rate & dev->caps.stat_rate_support)) --ah->av.ib.stat_rate; } - ah->av.ib.sl_tclass_flowlabel = cpu_to_be32(ah_attr->sl << 28); return &ah->ibah; } @@ -96,21 +78,38 @@ static struct ib_ah *create_iboe_ah(struct ib_pd *pd, struct mlx4_dev *dev = ibdev->dev; int is_mcast = 0; struct in6_addr in6; - u16 vlan_tag; + u16 vlan_tag = 0xffff; + union ib_gid sgid; + struct ib_gid_attr gid_attr; + int ret; memcpy(&in6, ah_attr->grh.dgid.raw, sizeof(in6)); if (rdma_is_multicast_addr(&in6)) { is_mcast = 1; - resolve_mcast_mac(&in6, ah->av.eth.mac); + rdma_get_mcast_mac(&in6, ah->av.eth.mac); } else { - memcpy(ah->av.eth.mac, ah_attr->dmac, 6); + memcpy(ah->av.eth.mac, ah_attr->dmac, ETH_ALEN); } - vlan_tag = ah_attr->vlan_id; + ret = ib_get_cached_gid(pd->device, ah_attr->port_num, + ah_attr->grh.sgid_index, &sgid, &gid_attr); + if (ret) + return ERR_PTR(ret); + eth_zero_addr(ah->av.eth.s_mac); + if (gid_attr.ndev) { + if (is_vlan_dev(gid_attr.ndev)) + vlan_tag = vlan_dev_vlan_id(gid_attr.ndev); + memcpy(ah->av.eth.s_mac, IF_LLADDR(gid_attr.ndev), ETH_ALEN); + dev_put(gid_attr.ndev); + } if (vlan_tag < 0x1000) vlan_tag |= (ah_attr->sl & 7) << 13; ah->av.eth.port_pd = cpu_to_be32(to_mpd(pd)->pdn | (ah_attr->port_num << 24)); - ah->av.eth.gid_index = ah_attr->grh.sgid_index; + ret = mlx4_ib_gid_index_to_real_index(ibdev, ah_attr->port_num, ah_attr->grh.sgid_index); + if (ret < 0) + return ERR_PTR(ret); + ah->av.eth.gid_index = ret; ah->av.eth.vlan = cpu_to_be16(vlan_tag); + ah->av.eth.hop_limit = ah_attr->grh.hop_limit; if (ah_attr->static_rate) { ah->av.eth.stat_rate = ah_attr->static_rate + MLX4_STAT_RATE_OFFSET; while (ah->av.eth.stat_rate > IB_RATE_2_5_GBPS + MLX4_STAT_RATE_OFFSET && @@ -168,9 +167,13 @@ int mlx4_ib_query_ah(struct ib_ah *ibah, struct ib_ah_ enum rdma_link_layer ll; memset(ah_attr, 0, sizeof *ah_attr); - ah_attr->sl = be32_to_cpu(ah->av.ib.sl_tclass_flowlabel) >> 28; ah_attr->port_num = be32_to_cpu(ah->av.ib.port_pd) >> 24; ll = rdma_port_get_link_layer(ibah->device, ah_attr->port_num); + if (ll == IB_LINK_LAYER_ETHERNET) + ah_attr->sl = be32_to_cpu(ah->av.eth.sl_tclass_flowlabel) >> 29; + else + ah_attr->sl = be32_to_cpu(ah->av.ib.sl_tclass_flowlabel) >> 28; + ah_attr->dlid = ll == IB_LINK_LAYER_INFINIBAND ? be16_to_cpu(ah->av.ib.dlid) : 0; if (ah->av.ib.stat_rate) ah_attr->static_rate = ah->av.ib.stat_rate - MLX4_STAT_RATE_OFFSET; Modified: projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_alias_GUID.c ============================================================================== --- projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_alias_GUID.c Mon Nov 13 10:45:31 2017 (r325759) +++ projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_alias_GUID.c Mon Nov 13 10:49:18 2017 (r325760) @@ -42,6 +42,8 @@ #include #include #include +#include +#include #include "mlx4_ib.h" /* @@ -57,15 +59,19 @@ struct mlx4_alias_guid_work_context { int query_id; struct list_head list; int block_num; + ib_sa_comp_mask guid_indexes; u8 method; }; struct mlx4_next_alias_guid_work { u8 port; u8 block_num; + u8 method; struct mlx4_sriov_alias_guid_info_rec_det rec_det; }; +static int get_low_record_time_index(struct mlx4_ib_dev *dev, u8 port, + int *resched_delay_sec); void mlx4_ib_update_cache_on_guid_change(struct mlx4_ib_dev *dev, int block_num, u8 port_num, u8 *p_data) @@ -119,6 +125,57 @@ ib_sa_comp_mask mlx4_ib_get_aguid_comp_mask_from_ix(in return IB_SA_COMP_MASK(4 + index); } +void mlx4_ib_slave_alias_guid_event(struct mlx4_ib_dev *dev, int slave, + int port, int slave_init) +{ + __be64 curr_guid, required_guid; + int record_num = slave / 8; + int index = slave % 8; + int port_index = port - 1; + unsigned long flags; + int do_work = 0; + + spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags); + if (dev->sriov.alias_guid.ports_guid[port_index].state_flags & + GUID_STATE_NEED_PORT_INIT) + goto unlock; + if (!slave_init) { + curr_guid = *(__be64 *)&dev->sriov. + alias_guid.ports_guid[port_index]. + all_rec_per_port[record_num]. + all_recs[GUID_REC_SIZE * index]; + if (curr_guid == cpu_to_be64(MLX4_GUID_FOR_DELETE_VAL) || + !curr_guid) + goto unlock; + required_guid = cpu_to_be64(MLX4_GUID_FOR_DELETE_VAL); + } else { + required_guid = mlx4_get_admin_guid(dev->dev, slave, port); + if (required_guid == cpu_to_be64(MLX4_GUID_FOR_DELETE_VAL)) + goto unlock; + } + *(__be64 *)&dev->sriov.alias_guid.ports_guid[port_index]. + all_rec_per_port[record_num]. + all_recs[GUID_REC_SIZE * index] = required_guid; + dev->sriov.alias_guid.ports_guid[port_index]. + all_rec_per_port[record_num].guid_indexes + |= mlx4_ib_get_aguid_comp_mask_from_ix(index); + dev->sriov.alias_guid.ports_guid[port_index]. + all_rec_per_port[record_num].status + = MLX4_GUID_INFO_STATUS_IDLE; + /* set to run immediately */ + dev->sriov.alias_guid.ports_guid[port_index]. + all_rec_per_port[record_num].time_to_run = 0; + dev->sriov.alias_guid.ports_guid[port_index]. + all_rec_per_port[record_num]. + guids_retry_schedule[index] = 0; + do_work = 1; +unlock: + spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock, flags); + + if (do_work) + mlx4_ib_init_alias_guid_work(dev, port_index); +} + /* * Whenever new GUID is set/unset (guid table change) create event and * notify the relevant slave (master also should be notified). @@ -134,15 +191,20 @@ void mlx4_ib_notify_slaves_on_guid_change(struct mlx4_ { int i; u64 guid_indexes; - int slave_id; + int slave_id, slave_port; enum slave_port_state new_state; enum slave_port_state prev_state; __be64 tmp_cur_ag, form_cache_ag; enum slave_port_gen_event gen_event; + struct mlx4_sriov_alias_guid_info_rec_det *rec; + unsigned long flags; + __be64 required_value; if (!mlx4_is_master(dev->dev)) return; + rec = &dev->sriov.alias_guid.ports_guid[port_num - 1]. + all_rec_per_port[block_num]; guid_indexes = be64_to_cpu((__force __be64) dev->sriov.alias_guid. ports_guid[port_num - 1]. all_rec_per_port[block_num].guid_indexes); @@ -156,8 +218,13 @@ void mlx4_ib_notify_slaves_on_guid_change(struct mlx4_ continue; slave_id = (block_num * NUM_ALIAS_GUID_IN_REC) + i ; - if (slave_id >= dev->dev->num_slaves) + if (slave_id >= dev->dev->persist->num_vfs + 1) return; + + slave_port = mlx4_phys_to_slave_port(dev->dev, slave_id, port_num); + if (slave_port < 0) /* this port isn't available for the VF */ + continue; + tmp_cur_ag = *(__be64 *)&p_data[i * GUID_REC_SIZE]; form_cache_ag = get_cached_alias_guid(dev, port_num, (NUM_ALIAS_GUID_IN_REC * block_num) + i); @@ -168,8 +235,27 @@ void mlx4_ib_notify_slaves_on_guid_change(struct mlx4_ */ if (tmp_cur_ag != form_cache_ag) continue; - mlx4_gen_guid_change_eqe(dev->dev, slave_id, port_num); + spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags); + required_value = *(__be64 *)&rec->all_recs[i * GUID_REC_SIZE]; + + if (required_value == cpu_to_be64(MLX4_GUID_FOR_DELETE_VAL)) + required_value = 0; + + if (tmp_cur_ag == required_value) { + rec->guid_indexes = rec->guid_indexes & + ~mlx4_ib_get_aguid_comp_mask_from_ix(i); + } else { + /* may notify port down if value is 0 */ + if (tmp_cur_ag != MLX4_NOT_SET_GUID) { + spin_unlock_irqrestore(&dev->sriov. + alias_guid.ag_work_lock, flags); + continue; + } + } + spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock, + flags); + mlx4_gen_guid_change_eqe(dev->dev, slave_id, port_num); /*2 cases: Valid GUID, and Invalid Guid*/ if (tmp_cur_ag != MLX4_NOT_SET_GUID) { /*valid GUID*/ @@ -190,10 +276,14 @@ void mlx4_ib_notify_slaves_on_guid_change(struct mlx4_ set_and_calc_slave_port_state(dev->dev, slave_id, port_num, MLX4_PORT_STATE_IB_EVENT_GID_INVALID, &gen_event); - pr_debug("sending PORT DOWN event to slave: %d, port: %d\n", - slave_id, port_num); - mlx4_gen_port_state_change_eqe(dev->dev, slave_id, port_num, - MLX4_PORT_CHANGE_SUBTYPE_DOWN); + if (gen_event == SLAVE_PORT_GEN_EVENT_DOWN) { + pr_debug("sending PORT DOWN event to slave: %d, port: %d\n", + slave_id, port_num); + mlx4_gen_port_state_change_eqe(dev->dev, + slave_id, + port_num, + MLX4_PORT_CHANGE_SUBTYPE_DOWN); + } } } } @@ -208,6 +298,9 @@ static void aliasguid_query_handler(int status, int i; struct mlx4_sriov_alias_guid_info_rec_det *rec; unsigned long flags, flags1; + ib_sa_comp_mask declined_guid_indexes = 0; + ib_sa_comp_mask applied_guid_indexes = 0; + unsigned int resched_delay_sec = 0; if (!context) return; @@ -218,9 +311,9 @@ static void aliasguid_query_handler(int status, all_rec_per_port[cb_ctx->block_num]; if (status) { - rec->status = MLX4_GUID_INFO_STATUS_IDLE; pr_debug("(port: %d) failed: status = %d\n", cb_ctx->port, status); + rec->time_to_run = ktime_get_ns() + 1 * NSEC_PER_SEC; goto out; } @@ -237,69 +330,101 @@ static void aliasguid_query_handler(int status, rec = &dev->sriov.alias_guid.ports_guid[port_index]. all_rec_per_port[guid_rec->block_num]; - rec->status = MLX4_GUID_INFO_STATUS_SET; - rec->method = MLX4_GUID_INFO_RECORD_SET; - + spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags); for (i = 0 ; i < NUM_ALIAS_GUID_IN_REC; i++) { - __be64 tmp_cur_ag; - tmp_cur_ag = *(__be64 *)&guid_rec->guid_info_list[i * GUID_REC_SIZE]; - if ((cb_ctx->method == MLX4_GUID_INFO_RECORD_DELETE) - && (MLX4_NOT_SET_GUID == tmp_cur_ag)) { - pr_debug("%s:Record num %d in block_num:%d " - "was deleted by SM,ownership by %d " - "(0 = driver, 1=sysAdmin, 2=None)\n", - __func__, i, guid_rec->block_num, - rec->ownership); - rec->guid_indexes = rec->guid_indexes & - ~mlx4_ib_get_aguid_comp_mask_from_ix(i); + __be64 sm_response, required_val; + + if (!(cb_ctx->guid_indexes & + mlx4_ib_get_aguid_comp_mask_from_ix(i))) continue; + sm_response = *(__be64 *)&guid_rec->guid_info_list + [i * GUID_REC_SIZE]; + required_val = *(__be64 *)&rec->all_recs[i * GUID_REC_SIZE]; + if (cb_ctx->method == MLX4_GUID_INFO_RECORD_DELETE) { + if (required_val == + cpu_to_be64(MLX4_GUID_FOR_DELETE_VAL)) + goto next_entry; + + /* A new value was set till we got the response */ + pr_debug("need to set new value %llx, record num %d, block_num:%d\n", + (long long)be64_to_cpu(required_val), + i, guid_rec->block_num); + goto entry_declined; } /* check if the SM didn't assign one of the records. - * if it didn't, if it was not sysadmin request: - * ask the SM to give a new GUID, (instead of the driver request). + * if it didn't, re-ask for. */ - if (tmp_cur_ag == MLX4_NOT_SET_GUID) { - mlx4_ib_warn(&dev->ib_dev, "%s:Record num %d in " - "block_num: %d was declined by SM, " - "ownership by %d (0 = driver, 1=sysAdmin," - " 2=None)\n", __func__, i, - guid_rec->block_num, rec->ownership); - if (rec->ownership == MLX4_GUID_DRIVER_ASSIGN) { - /* if it is driver assign, asks for new GUID from SM*/ - *(__be64 *)&rec->all_recs[i * GUID_REC_SIZE] = - MLX4_NOT_SET_GUID; - - /* Mark the record as not assigned, and let it - * be sent again in the next work sched.*/ - rec->status = MLX4_GUID_INFO_STATUS_IDLE; - rec->guid_indexes |= mlx4_ib_get_aguid_comp_mask_from_ix(i); - } + if (sm_response == MLX4_NOT_SET_GUID) { + if (rec->guids_retry_schedule[i] == 0) + mlx4_ib_warn(&dev->ib_dev, + "%s:Record num %d in block_num: %d was declined by SM\n", + __func__, i, + guid_rec->block_num); + goto entry_declined; } else { /* properly assigned record. */ /* We save the GUID we just got from the SM in the * admin_guid in order to be persistent, and in the * request from the sm the process will ask for the same GUID */ - if (rec->ownership == MLX4_GUID_SYSADMIN_ASSIGN && - tmp_cur_ag != *(__be64 *)&rec->all_recs[i * GUID_REC_SIZE]) { - /* the sysadmin assignment failed.*/ - mlx4_ib_warn(&dev->ib_dev, "%s: Failed to set" - " admin guid after SysAdmin " - "configuration. " - "Record num %d in block_num:%d " - "was declined by SM, " - "new val(0x%llx) was kept\n", - __func__, i, - guid_rec->block_num, - (long long)be64_to_cpu(*(__be64 *) & - rec->all_recs[i * GUID_REC_SIZE])); + if (required_val && + sm_response != required_val) { + /* Warn only on first retry */ + if (rec->guids_retry_schedule[i] == 0) + mlx4_ib_warn(&dev->ib_dev, "%s: Failed to set" + " admin guid after SysAdmin " + "configuration. " + "Record num %d in block_num:%d " + "was declined by SM, " + "new val(0x%llx) was kept, SM returned (0x%llx)\n", + __func__, i, + guid_rec->block_num, + (long long)be64_to_cpu(required_val), + (long long)be64_to_cpu(sm_response)); + goto entry_declined; } else { - memcpy(&rec->all_recs[i * GUID_REC_SIZE], - &guid_rec->guid_info_list[i * GUID_REC_SIZE], - GUID_REC_SIZE); + *(__be64 *)&rec->all_recs[i * GUID_REC_SIZE] = + sm_response; + if (required_val == 0) + mlx4_set_admin_guid(dev->dev, + sm_response, + (guid_rec->block_num + * NUM_ALIAS_GUID_IN_REC) + i, + cb_ctx->port); + goto next_entry; } } +entry_declined: + declined_guid_indexes |= mlx4_ib_get_aguid_comp_mask_from_ix(i); + rec->guids_retry_schedule[i] = + (rec->guids_retry_schedule[i] == 0) ? 1 : + min((unsigned int)60, + rec->guids_retry_schedule[i] * 2); + /* using the minimum value among all entries in that record */ + resched_delay_sec = (resched_delay_sec == 0) ? + rec->guids_retry_schedule[i] : + min(resched_delay_sec, + rec->guids_retry_schedule[i]); + continue; + +next_entry: + rec->guids_retry_schedule[i] = 0; } + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Mon Nov 13 10:59:40 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CFA53DB0203 for ; Mon, 13 Nov 2017 10:59:40 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9A10A69941; Mon, 13 Nov 2017 10:59:40 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vADAxdSd078814; Mon, 13 Nov 2017 10:59:39 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vADAxdFZ078807; Mon, 13 Nov 2017 10:59:39 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711131059.vADAxdFZ078807@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 13 Nov 2017 10:59:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325761 - in projects/bsd_rdma_4_9: share/mk sys/amd64/conf sys/conf sys/i386/conf sys/modules sys/modules/mthca sys/ofed/drivers/infiniband sys/ofed/drivers/infiniband/hw sys/ofed/driv... X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in projects/bsd_rdma_4_9: share/mk sys/amd64/conf sys/conf sys/i386/conf sys/modules sys/modules/mthca sys/ofed/drivers/infiniband sys/ofed/drivers/infiniband/hw sys/ofed/drivers/infiniband/util targe... X-SVN-Commit-Revision: 325761 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Nov 2017 10:59:40 -0000 Author: hselasky Date: Mon Nov 13 10:59:38 2017 New Revision: 325761 URL: https://svnweb.freebsd.org/changeset/base/325761 Log: Remove no longer supported mthca driver. Sponsored by: Mellanox Technologies Deleted: projects/bsd_rdma_4_9/sys/modules/mthca/ projects/bsd_rdma_4_9/sys/ofed/drivers/infiniband/Kconfig projects/bsd_rdma_4_9/sys/ofed/drivers/infiniband/Makefile projects/bsd_rdma_4_9/sys/ofed/drivers/infiniband/hw/ projects/bsd_rdma_4_9/sys/ofed/drivers/infiniband/util/Kconfig Modified: projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk projects/bsd_rdma_4_9/share/mk/src.libnames.mk projects/bsd_rdma_4_9/sys/amd64/conf/NOTES projects/bsd_rdma_4_9/sys/conf/files projects/bsd_rdma_4_9/sys/i386/conf/NOTES projects/bsd_rdma_4_9/sys/modules/Makefile projects/bsd_rdma_4_9/targets/pseudo/userland/lib/Makefile.depend Modified: projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk ============================================================================== --- projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk Mon Nov 13 10:49:18 2017 (r325760) +++ projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk Mon Nov 13 10:59:38 2017 (r325761) @@ -109,7 +109,6 @@ LIBMILTER?= ${LIBDESTDIR}${LIBDIR_BASE}/libmilter.a LIBMLX4?= ${LIBDESTDIR}${LIBDIR_BASE}/libmlx4.a LIBMP?= ${LIBDESTDIR}${LIBDIR_BASE}/libmp.a LIBMT?= ${LIBDESTDIR}${LIBDIR_BASE}/libmt.a -LIBMTHCA?= ${LIBDESTDIR}${LIBDIR_BASE}/libmthca.a LIBNANDFS?= ${LIBDESTDIR}${LIBDIR_BASE}/libnandfs.a LIBNCURSES?= ${LIBDESTDIR}${LIBDIR_BASE}/libncurses.a LIBNCURSESW?= ${LIBDESTDIR}${LIBDIR_BASE}/libncursesw.a Modified: projects/bsd_rdma_4_9/share/mk/src.libnames.mk ============================================================================== --- projects/bsd_rdma_4_9/share/mk/src.libnames.mk Mon Nov 13 10:49:18 2017 (r325760) +++ projects/bsd_rdma_4_9/share/mk/src.libnames.mk Mon Nov 13 10:59:38 2017 (r325761) @@ -199,7 +199,6 @@ _LIBRARIES+= \ ibumad \ ibverbs \ mlx4 \ - mthca \ opensm \ osmcomp \ osmvendor \ @@ -336,7 +335,6 @@ _DP_ibcm= ibverbs _DP_ibmad= ibcommon ibumad _DP_ibumad= ibcommon _DP_mlx4= ibverbs pthread -_DP_mthca= ibverbs pthread _DP_opensm= pthread _DP_osmcomp= pthread _DP_osmvendor= ibumad opensm osmcomp pthread @@ -488,7 +486,6 @@ LIBIBMADDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibmad LIBIBUMADDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibumad LIBIBVERBSDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibverbs LIBMLX4DIR= ${OBJTOP}/contrib/ofed/usr.lib/libmlx4 -LIBMTHCADIR= ${OBJTOP}/contrib/ofed/usr.lib/libmthca LIBOPENSMDIR= ${OBJTOP}/contrib/ofed/usr.lib/libopensm LIBOSMCOMPDIR= ${OBJTOP}/contrib/ofed/usr.lib/libosmcomp LIBOSMVENDORDIR= ${OBJTOP}/contrib/ofed/usr.lib/libosmvendor Modified: projects/bsd_rdma_4_9/sys/amd64/conf/NOTES ============================================================================== --- projects/bsd_rdma_4_9/sys/amd64/conf/NOTES Mon Nov 13 10:49:18 2017 (r325760) +++ projects/bsd_rdma_4_9/sys/amd64/conf/NOTES Mon Nov 13 10:59:38 2017 (r325761) @@ -317,7 +317,6 @@ options DRM_DEBUG # Include debug printfs (slow) # ixlv: Intel XL710 40Gbe VF PCIE Ethernet # mlx4ib: Mellanox ConnectX HCA InfiniBand # mlx4en: Mellanox ConnectX HCA Ethernet -# mthca: Mellanox HCA InfiniBand # nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) # sfxge: Solarflare SFC9000 family 10Gb Ethernet adapters # vmx: VMware VMXNET3 Ethernet (BSD open source) @@ -338,7 +337,6 @@ device ixlv # Intel XL710 40Gbe VF PCIE Ethernet device mlx4 # Shared code module between IB and Ethernet device mlx4ib # Mellanox ConnectX HCA InfiniBand device mlx4en # Mellanox ConnectX HCA Ethernet -device mthca # Mellanox HCA InfiniBand device nfe # nVidia nForce MCP on-board Ethernet device sfxge # Solarflare SFC9000 10Gb Ethernet device vmx # VMware VMXNET3 Ethernet Modified: projects/bsd_rdma_4_9/sys/conf/files ============================================================================== --- projects/bsd_rdma_4_9/sys/conf/files Mon Nov 13 10:49:18 2017 (r325760) +++ projects/bsd_rdma_4_9/sys/conf/files Mon Nov 13 10:59:38 2017 (r325761) @@ -4696,43 +4696,6 @@ dev/mlx5/mlx5_en/mlx5_en_rx.c optional mlx5en pci in dev/mlx5/mlx5_en/mlx5_en_txrx.c optional mlx5en pci inet inet6 \ compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_allocator.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_av.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_catas.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_cmd.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_cq.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_eq.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_mad.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_main.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_mcg.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_memfree.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_mr.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_pd.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_profile.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_provider.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_qp.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_reset.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_srq.c optional mthca \ - compile-with "${OFED_C}" -ofed/drivers/infiniband/hw/mthca/mthca_uar.c optional mthca \ - compile-with "${OFED_C}" - # crypto support opencrypto/cast.c optional crypto | ipsec | ipsec_support opencrypto/criov.c optional crypto | ipsec | ipsec_support Modified: projects/bsd_rdma_4_9/sys/i386/conf/NOTES ============================================================================== --- projects/bsd_rdma_4_9/sys/i386/conf/NOTES Mon Nov 13 10:49:18 2017 (r325760) +++ projects/bsd_rdma_4_9/sys/i386/conf/NOTES Mon Nov 13 10:59:38 2017 (r325761) @@ -555,7 +555,6 @@ hint.mse.0.irq="5" # Requires the iwn firmware module # mlx4ib: Mellanox ConnectX HCA InfiniBand # mlx4en: Mellanox ConnectX HCA Ethernet -# mthca: Mellanox HCA InfiniBand # nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) # sbni: Granch SBNI12-xx ISA and PCI adapters # vmx: VMware VMXNET3 Ethernet (BSD open source) @@ -596,7 +595,6 @@ hint.le.0.drq="0" device mlx4 # Shared code module between IB and Ethernet device mlx4ib # Mellanox ConnectX HCA InfiniBand device mlx4en # Mellanox ConnectX HCA Ethernet -device mthca # Mellanox HCA InfiniBand device nfe # nVidia nForce MCP on-board Ethernet device sbni hint.sbni.0.at="isa" Modified: projects/bsd_rdma_4_9/sys/modules/Makefile ============================================================================== --- projects/bsd_rdma_4_9/sys/modules/Makefile Mon Nov 13 10:49:18 2017 (r325760) +++ projects/bsd_rdma_4_9/sys/modules/Makefile Mon Nov 13 10:59:38 2017 (r325761) @@ -264,7 +264,6 @@ SUBDIR= \ msdosfs_iconv \ ${_mse} \ msk \ - ${_mthca} \ mvs \ mwl \ ${_mwlfw} \ @@ -680,9 +679,6 @@ _mlx4ib= mlx4ib _mlx5ib= mlx5ib .endif _mly= mly -.if ${MK_OFED} != "no" || defined(ALL_MODULES) -_mthca= mthca -.endif _nfe= nfe _nvd= nvd _nvme= nvme Modified: projects/bsd_rdma_4_9/targets/pseudo/userland/lib/Makefile.depend ============================================================================== --- projects/bsd_rdma_4_9/targets/pseudo/userland/lib/Makefile.depend Mon Nov 13 10:49:18 2017 (r325760) +++ projects/bsd_rdma_4_9/targets/pseudo/userland/lib/Makefile.depend Mon Nov 13 10:59:38 2017 (r325761) @@ -251,7 +251,6 @@ DIRDEPS+= \ contrib/ofed/usr.lib/libibumad \ contrib/ofed/usr.lib/libibverbs \ contrib/ofed/usr.lib/libmlx4 \ - contrib/ofed/usr.lib/libmthca \ contrib/ofed/usr.lib/libopensm \ contrib/ofed/usr.lib/libosmcomp \ contrib/ofed/usr.lib/libosmvendor \ From owner-svn-src-projects@freebsd.org Mon Nov 13 11:36:25 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BF4C1DB0CD6 for ; Mon, 13 Nov 2017 11:36:25 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 72A846A86B; Mon, 13 Nov 2017 11:36:25 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vADBaOq5095318; Mon, 13 Nov 2017 11:36:24 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vADBaMGQ095300; Mon, 13 Nov 2017 11:36:22 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711131136.vADBaMGQ095300@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 13 Nov 2017 11:36:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325762 - in projects/bsd_rdma_4_9/contrib/ofed: . infiniband-diags/build infiniband-diags/build/dump_fts infiniband-diags/build/ibcacheedit infiniband-diags/build/iblinkinfo infiniband... X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in projects/bsd_rdma_4_9/contrib/ofed: . infiniband-diags/build infiniband-diags/build/dump_fts infiniband-diags/build/ibcacheedit infiniband-diags/build/iblinkinfo infiniband-diags/build/ibnetdiscove... X-SVN-Commit-Revision: 325762 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Nov 2017 11:36:25 -0000 Author: hselasky Date: Mon Nov 13 11:36:22 2017 New Revision: 325762 URL: https://svnweb.freebsd.org/changeset/base/325762 Log: Remove no longer needed TESTBUILD defines from OFED Makefiles. Sponsored by: Mellanox Technologies Modified: projects/bsd_rdma_4_9/contrib/ofed/Makefile projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/Makefile.inc projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/dump_fts/Makefile projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibcacheedit/Makefile projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/iblinkinfo/Makefile projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibnetdiscover/Makefile projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibqueryerrors/Makefile projects/bsd_rdma_4_9/contrib/ofed/libcxgb4/Makefile projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile projects/bsd_rdma_4_9/contrib/ofed/libibmad/Makefile projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/Makefile projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile projects/bsd_rdma_4_9/contrib/ofed/opensm/libopensm/Makefile projects/bsd_rdma_4_9/contrib/ofed/opensm/libvendor/Makefile projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile Modified: projects/bsd_rdma_4_9/contrib/ofed/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -44,12 +44,4 @@ SUBDIR+= ${SUBDIR_${L}} SUBDIR_PARALLEL= -.if defined(TESTBUILD) -all-install: -.for D in ${SUBDIR} - cd ${.CURDIR}/${D} ; ${MAKE} clean cleandepend - cd ${.CURDIR}/${D} ; ${MAKE} depend all install -.endfor -.else .include -.endif Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/Makefile.inc ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/Makefile.inc Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/Makefile.inc Mon Nov 13 11:36:22 2017 (r325762) @@ -8,9 +8,5 @@ CFLAGS+= -I${INCLUDEDIR}/infiniband CFLAGS+= -DHAVE_CONFIG_H=1 CFLAGS+= -I${.CURDIR}/../../ CFLAGS+= -I${.CURDIR}/../../src -.if defined(TESTBUILD) -LDFLAGS+= -losmcomp -libmad -libumad -.else LIBADD+= osmcomp ibmad ibumad -.endif Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/dump_fts/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/dump_fts/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/dump_fts/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -2,11 +2,7 @@ PROG= dump_fts SRCS= dump_fts.c -.if defined(TESTBUILD) -LDFLAGS= -libnetdisc -.else LIBADD= ibnetdisc -.endif MAN= dump_fts.8 .include Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibcacheedit/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibcacheedit/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibcacheedit/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -2,11 +2,7 @@ PROG= ibcacheedit SRCS= ibcacheedit.c -.if defined(TESTBUILD) -LDFLAGS= -libnetdisc -.else LIBADD= ibnetdisc -.endif MAN= ibcacheedit.8 .include Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/iblinkinfo/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/iblinkinfo/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/iblinkinfo/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -2,11 +2,7 @@ PROG= iblinkinfo SRCS= iblinkinfo.c -.if defined(TESTBUILD) -LDFLAGS= -libnetdisc -.else LIBADD= ibnetdisc -.endif MAN= iblinkinfo.8 .include Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibnetdiscover/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibnetdiscover/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibnetdiscover/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -2,11 +2,7 @@ PROG= ibnetdiscover SRCS= ibnetdiscover.c -.if defined(TESTBUILD) -LDFLAGS= -libnetdisc -.else LIBADD= ibnetdisc -.endif MAN= ibnetdiscover.8 .include Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibqueryerrors/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibqueryerrors/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibqueryerrors/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -2,11 +2,7 @@ PROG= ibqueryerrors SRCS= ibqueryerrors.c -.if defined(TESTBUILD) -LDFLAGS= -libnetdisc -.else LIBADD= ibnetdisc -.endif MAN= ibqueryerrors.8 .include Modified: projects/bsd_rdma_4_9/contrib/ofed/libcxgb4/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libcxgb4/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/libcxgb4/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -13,11 +13,7 @@ dev.c \ qp.c \ verbs.c -.if defined(TESTBUILD) -LDFLAGS= -libverbs -lpthread -.else LIBADD= ibverbs pthread -.endif CFLAGS+= -I${.CURDIR} .include Modified: projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -7,11 +7,7 @@ LIB= ibcm SHLIB_MAJOR= 1 MK_PROFILE= no SRCS= cm.c -.if defined(TESTBUILD) -LDFLAGS= -libverbs -.else LDADD= ibverbs -.endif CFLAGS+= -I${.CURDIR} MAN= VERSION_MAP= ${.CURDIR}/libibcm.map Modified: projects/bsd_rdma_4_9/contrib/ofed/libibmad/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libibmad/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/libibmad/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -23,11 +23,7 @@ serv.c \ smp.c \ vendor.c -.if defined(TESTBUILD) -LDFLAGS= -libumad -.else LIBADD= ibumad -.endif CFLAGS+= -DHAVE_CONFIG_H=1 CFLAGS+= -I${.CURDIR} VERSION_MAP= ${.CURDIR}/libibmad.map Modified: projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -24,11 +24,7 @@ ibnd_iter_nodes.3 \ ibnd_iter_nodes_type.3 \ ibnd_show_progress.3 -.if defined(TESTBUILD) -LDFLAGS= -losmcomp -libmad -libumad -.else LIBADD= osmcomp ibmad ibumad -.endif CFLAGS+= -DHAVE_CONFIG_H=1 CFLAGS+= -I${.CURDIR} CFLAGS+= -I${INCLUDEDIR}/infiniband Modified: projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -16,11 +16,7 @@ qp.c \ srq.c \ verbs.c -.if defined(TESTBUILD) -LDFLAGS= -libverbs -lpthread -.else LDADD= ibverbs pthread -.endif CFLAGS+= -I${.CURDIR} .include Modified: projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -16,11 +16,7 @@ qp.c \ srq.c \ verbs.c -.if defined(TESTBUILD) -LDFLAGS= -libverbs -lpthread -.else LDADD= ibverbs pthread -.endif CFLAGS+= -I${.CURDIR} VERSION_MAP= ${.CURDIR}/libmlx5.map Modified: projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -65,11 +65,7 @@ rdma_resolve_addr.3 \ rdma_resolve_route.3 \ rdma_set_option.3 -.if defined(TESTBUILD) -LDFLAGS= -libverbs -.else LDADD= ibverbs -.endif VERSION_MAP= ${.CURDIR}/librdmacm.map .include Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -28,11 +28,7 @@ ib_statustext.c CFLAGS+= -I${.CURDIR}/.. -DHAVE_CONFIG_H=1 CFLAGS+= -I${INCLUDEDIR}/infiniband -.if defined(TESTBUILD) -LDFLAGS= -lpthread -.else LDADD= pthread -.endif VERSION_MAP= ${.CURDIR}/libosmcomp.map .include Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/libopensm/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/opensm/libopensm/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/opensm/libopensm/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -12,11 +12,7 @@ osm_log.c \ osm_mad_pool.c \ osm_helper.c -.if defined(TESTBUILD) -LDFLAGS= -lpthread -.else LIBADD= pthread -.endif CFLAGS+= -I${.CURDIR}/.. -DHAVE_CONFIG_H=1 CFLAGS+= -I${INCLUDEDIR}/infiniband VERSION_MAP= ${.CURDIR}/../opensm/libopensm.map Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/libvendor/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/opensm/libvendor/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/opensm/libvendor/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -11,11 +11,7 @@ SRCS= \ osm_vendor_ibumad.c \ osm_vendor_ibumad_sa.c -.if defined(TESTBUILD) -LDFLAGS= -libumad -lpthread -.else LIBADD= ibumad pthread -.endif CFLAGS+= -I${.CURDIR}/.. -DHAVE_CONFIG_H=1 CFLAGS+= -I${INCLUDEDIR}/infiniband VERSION_MAP= ${.CURDIR}/libosmvendor.map Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile Mon Nov 13 10:59:38 2017 (r325761) +++ projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile Mon Nov 13 11:36:22 2017 (r325762) @@ -96,10 +96,6 @@ st.c MAN= opensm.8 CFLAGS+= -I${.CURDIR}/.. -DHAVE_CONFIG_H=1 CFLAGS+= -I${INCLUDEDIR}/infiniband -.if defined(TESTBUILD) -LDFLAGS= -lopensm -losmvendor -losmcomp -lwrap -lpthread -.else LDADD= opensm osmvendor osmcomp wrap pthread -.endif .include From owner-svn-src-projects@freebsd.org Mon Nov 13 12:36:38 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 50A59DB9954 for ; Mon, 13 Nov 2017 12:36:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 283CE6CBFB; Mon, 13 Nov 2017 12:36:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vADCabnJ021851; Mon, 13 Nov 2017 12:36:37 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vADCaajO021842; Mon, 13 Nov 2017 12:36:36 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711131236.vADCaajO021842@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 13 Nov 2017 12:36:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325763 - in projects/bsd_rdma_4_9: contrib/ofed contrib/ofed/libibcm contrib/ofed/libmlx4 contrib/ofed/libmlx5 contrib/ofed/librdmacm contrib/ofed/opensm/complib contrib/ofed/opensm/op... X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in projects/bsd_rdma_4_9: contrib/ofed contrib/ofed/libibcm contrib/ofed/libmlx4 contrib/ofed/libmlx5 contrib/ofed/librdmacm contrib/ofed/opensm/complib contrib/ofed/opensm/opensm share/mk X-SVN-Commit-Revision: 325763 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Nov 2017 12:36:38 -0000 Author: hselasky Date: Mon Nov 13 12:36:36 2017 New Revision: 325763 URL: https://svnweb.freebsd.org/changeset/base/325763 Log: Fix OFED library dependencies. Sponsored by: Mellanox Technologies Modified: projects/bsd_rdma_4_9/contrib/ofed/Makefile projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk projects/bsd_rdma_4_9/share/mk/src.libnames.mk Modified: projects/bsd_rdma_4_9/contrib/ofed/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/Makefile Mon Nov 13 11:36:22 2017 (r325762) +++ projects/bsd_rdma_4_9/contrib/ofed/Makefile Mon Nov 13 12:36:36 2017 (r325763) @@ -1,6 +1,6 @@ # $FreeBSD$ -SUBDIR_A_DEPEND= +SUBDIR_A_DEPEND= ${_libthr} SUBDIR_A= \ include Modified: projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile Mon Nov 13 11:36:22 2017 (r325762) +++ projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile Mon Nov 13 12:36:36 2017 (r325763) @@ -7,7 +7,7 @@ LIB= ibcm SHLIB_MAJOR= 1 MK_PROFILE= no SRCS= cm.c -LDADD= ibverbs +LIBADD= ibverbs CFLAGS+= -I${.CURDIR} MAN= VERSION_MAP= ${.CURDIR}/libibcm.map Modified: projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile Mon Nov 13 11:36:22 2017 (r325762) +++ projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile Mon Nov 13 12:36:36 2017 (r325763) @@ -16,7 +16,7 @@ qp.c \ srq.c \ verbs.c -LDADD= ibverbs pthread +LIBADD= ibverbs pthread CFLAGS+= -I${.CURDIR} .include Modified: projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile Mon Nov 13 11:36:22 2017 (r325762) +++ projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile Mon Nov 13 12:36:36 2017 (r325763) @@ -16,7 +16,7 @@ qp.c \ srq.c \ verbs.c -LDADD= ibverbs pthread +LIBADD= ibverbs pthread CFLAGS+= -I${.CURDIR} VERSION_MAP= ${.CURDIR}/libmlx5.map Modified: projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile Mon Nov 13 11:36:22 2017 (r325762) +++ projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile Mon Nov 13 12:36:36 2017 (r325763) @@ -65,7 +65,7 @@ rdma_resolve_addr.3 \ rdma_resolve_route.3 \ rdma_set_option.3 -LDADD= ibverbs +LIBADD= ibverbs VERSION_MAP= ${.CURDIR}/librdmacm.map .include Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile Mon Nov 13 11:36:22 2017 (r325762) +++ projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile Mon Nov 13 12:36:36 2017 (r325763) @@ -28,7 +28,7 @@ ib_statustext.c CFLAGS+= -I${.CURDIR}/.. -DHAVE_CONFIG_H=1 CFLAGS+= -I${INCLUDEDIR}/infiniband -LDADD= pthread +LIBADD= pthread VERSION_MAP= ${.CURDIR}/libosmcomp.map .include Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile Mon Nov 13 11:36:22 2017 (r325762) +++ projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile Mon Nov 13 12:36:36 2017 (r325763) @@ -96,6 +96,6 @@ st.c MAN= opensm.8 CFLAGS+= -I${.CURDIR}/.. -DHAVE_CONFIG_H=1 CFLAGS+= -I${INCLUDEDIR}/infiniband -LDADD= opensm osmvendor osmcomp wrap pthread +LIBADD= opensm osmvendor osmcomp wrap pthread .include Modified: projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk ============================================================================== --- projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk Mon Nov 13 11:36:22 2017 (r325762) +++ projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk Mon Nov 13 12:36:36 2017 (r325763) @@ -81,9 +81,8 @@ LIBHEIMNTLM?= ${LIBDESTDIR}${LIBDIR_BASE}/libheimntlm. LIBHEIMSQLITE?= ${LIBDESTDIR}${LIBDIR_BASE}/libheimsqlite.a LIBHX509?= ${LIBDESTDIR}${LIBDIR_BASE}/libhx509.a LIBIBCM?= ${LIBDESTDIR}${LIBDIR_BASE}/libibcm.a -LIBIBCOMMON?= ${LIBDESTDIR}${LIBDIR_BASE}/libibcommon.a LIBIBMAD?= ${LIBDESTDIR}${LIBDIR_BASE}/libibmad.a -LIBIBSDP?= ${LIBDESTDIR}${LIBDIR_BASE}/libibsdp.a +LIBIBNETDISC?= ${LIBDESTDIR}${LIBDIR_BASE}/libibnetdisc.a LIBIBUMAD?= ${LIBDESTDIR}${LIBDIR_BASE}/libibumad.a LIBIBVERBS?= ${LIBDESTDIR}${LIBDIR_BASE}/libibverbs.a LIBIFCONFIG?= ${LIBDESTDIR}${LIBDIR_BASE}/libifconfig.a @@ -107,6 +106,7 @@ LIBMEMSTAT?= ${LIBDESTDIR}${LIBDIR_BASE}/libmemstat.a LIBMENU?= ${LIBDESTDIR}${LIBDIR_BASE}/libmenu.a LIBMILTER?= ${LIBDESTDIR}${LIBDIR_BASE}/libmilter.a LIBMLX4?= ${LIBDESTDIR}${LIBDIR_BASE}/libmlx4.a +LIBMLX5?= ${LIBDESTDIR}${LIBDIR_BASE}/libmlx5.a LIBMP?= ${LIBDESTDIR}${LIBDIR_BASE}/libmp.a LIBMT?= ${LIBDESTDIR}${LIBDIR_BASE}/libmt.a LIBNANDFS?= ${LIBDESTDIR}${LIBDIR_BASE}/libnandfs.a Modified: projects/bsd_rdma_4_9/share/mk/src.libnames.mk ============================================================================== --- projects/bsd_rdma_4_9/share/mk/src.libnames.mk Mon Nov 13 11:36:22 2017 (r325762) +++ projects/bsd_rdma_4_9/share/mk/src.libnames.mk Mon Nov 13 12:36:36 2017 (r325763) @@ -193,17 +193,16 @@ _LIBRARIES+= \ _LIBRARIES+= \ cxgb4 \ ibcm \ - ibcommon \ ibmad \ - ibsdp \ + ibnetdisc \ ibumad \ ibverbs \ mlx4 \ - opensm \ - osmcomp \ - osmvendor \ + mlx5 \ rdmacm \ - + osmcomp \ + opensm \ + osmvendor .endif # Each library's LIBADD needs to be duplicated here for static linkage of @@ -329,16 +328,21 @@ _DP_zfs= md pthread umem util uutil m nvpair avl bsdxm zfs_core _DP_zfs_core= nvpair _DP_zpool= md pthread z nvpair avl umem + +# OFED support .if ${MK_OFED} != "no" _DP_cxgb4= ibverbs pthread _DP_ibcm= ibverbs -_DP_ibmad= ibcommon ibumad -_DP_ibumad= ibcommon +_DP_ibmad= ibumad +_DP_ibnetdisc= osmcomp ibmad ibumad +_DP_ibumad= +_DP_ibverbs= _DP_mlx4= ibverbs pthread -_DP_opensm= pthread -_DP_osmcomp= pthread -_DP_osmvendor= ibumad opensm osmcomp pthread +_DP_mlx5= ibverbs pthread _DP_rdmacm= ibverbs +_DP_osmcomp= pthread +_DP_opensm= pthread +_DP_osmvendor= ibumad pthread .endif # Define special cases @@ -479,18 +483,21 @@ LIBUUTILDIR= ${OBJTOP}/cddl/lib/libuutil LIBZFSDIR= ${OBJTOP}/cddl/lib/libzfs LIBZFS_COREDIR= ${OBJTOP}/cddl/lib/libzfs_core LIBZPOOLDIR= ${OBJTOP}/cddl/lib/libzpool -LIBCXGB4DIR= ${OBJTOP}/contrib/ofed/usr.lib/libcxgb4 -LIBIBCMDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibcm -LIBIBCOMMONDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibcommon -LIBIBMADDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibmad -LIBIBUMADDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibumad -LIBIBVERBSDIR= ${OBJTOP}/contrib/ofed/usr.lib/libibverbs -LIBMLX4DIR= ${OBJTOP}/contrib/ofed/usr.lib/libmlx4 -LIBOPENSMDIR= ${OBJTOP}/contrib/ofed/usr.lib/libopensm -LIBOSMCOMPDIR= ${OBJTOP}/contrib/ofed/usr.lib/libosmcomp -LIBOSMVENDORDIR= ${OBJTOP}/contrib/ofed/usr.lib/libosmvendor -LIBRDMACMDIR= ${OBJTOP}/contrib/ofed/usr.lib/librdmacm -LIBIBSDPDIR= ${OBJTOP}/contrib/ofed/usr.lib/libsdp + +# OFED support +LIBCXGB4DIR= ${OBJTOP}/contrib/ofed/libcxgb4 +LIBIBCMDIR= ${OBJTOP}/contrib/ofed/libibcm +LIBIBMADDIR= ${OBJTOP}/contrib/ofed/libibmad +LIBIBNETDISCDIR=${OBJTOP}/contrib/ofed/libibnetdisc +LIBIBUMADDIR= ${OBJTOP}/contrib/ofed/libibumad +LIBIBVERBSDIR= ${OBJTOP}/contrib/ofed/libibverbs +LIBMLX4DIR= ${OBJTOP}/contrib/ofed/libmlx4 +LIBMLX5DIR= ${OBJTOP}/contrib/ofed/libmlx5 +LIBRDMACMDIR= ${OBJTOP}/contrib/ofed/librdmacm +LIBOSMCOMPDIR= ${OBJTOP}/contrib/ofed/opensm/complib +LIBOPENSMDIR= ${OBJTOP}/contrib/ofed/opensm/libopensm +LIBOSMVENDORDIR=${OBJTOP}/contrib/ofed/opensm/libvendor + LIBDIALOGDIR= ${OBJTOP}/gnu/lib/libdialog LIBGCOVDIR= ${OBJTOP}/gnu/lib/libgcov LIBGOMPDIR= ${OBJTOP}/gnu/lib/libgomp From owner-svn-src-projects@freebsd.org Tue Nov 14 07:04:07 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9755D7E436 for ; Tue, 14 Nov 2017 07:04:07 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8C6A172857; Tue, 14 Nov 2017 07:04:07 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAE7467k092889; Tue, 14 Nov 2017 07:04:06 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAE7466W092887; Tue, 14 Nov 2017 07:04:06 GMT (envelope-from np@FreeBSD.org) Message-Id: <201711140704.vAE7466W092887@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 14 Nov 2017 07:04:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325797 - in projects/bsd_rdma_4_9/sys/dev/cxgbe: common iw_cxgbe X-SVN-Group: projects X-SVN-Commit-Author: np X-SVN-Commit-Paths: in projects/bsd_rdma_4_9/sys/dev/cxgbe: common iw_cxgbe X-SVN-Commit-Revision: 325797 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Nov 2017 07:04:07 -0000 Author: np Date: Tue Nov 14 07:04:06 2017 New Revision: 325797 URL: https://svnweb.freebsd.org/changeset/base/325797 Log: Fix iw_cxgbe build in the projects branch. Submitted by: Krishnamraju Eraparaju @ Chelsio Modified: projects/bsd_rdma_4_9/sys/dev/cxgbe/common/common.h projects/bsd_rdma_4_9/sys/dev/cxgbe/iw_cxgbe/provider.c Modified: projects/bsd_rdma_4_9/sys/dev/cxgbe/common/common.h ============================================================================== --- projects/bsd_rdma_4_9/sys/dev/cxgbe/common/common.h Tue Nov 14 05:05:26 2017 (r325796) +++ projects/bsd_rdma_4_9/sys/dev/cxgbe/common/common.h Tue Nov 14 07:04:06 2017 (r325797) @@ -373,6 +373,9 @@ struct adapter_params { unsigned int max_ird_adapter; uint32_t mps_bg_map; /* rx buffer group map for all ports (upto 4) */ + + bool ulptx_memwrite_dsgl; /* use of T5 DSGL allowed */ + bool fr_nsmr_tpte_wr_support; /* FW support for FR_NSMR_TPTE_WR */ }; #define CHELSIO_T4 0x4 Modified: projects/bsd_rdma_4_9/sys/dev/cxgbe/iw_cxgbe/provider.c ============================================================================== --- projects/bsd_rdma_4_9/sys/dev/cxgbe/iw_cxgbe/provider.c Tue Nov 14 05:05:26 2017 (r325796) +++ projects/bsd_rdma_4_9/sys/dev/cxgbe/iw_cxgbe/provider.c Tue Nov 14 07:04:06 2017 (r325797) @@ -417,22 +417,6 @@ static int c4iw_port_immutable(struct ib_device *ibdev return 0; } -static int c4iw_port_immutable(struct ib_device *ibdev, u8 port_num, - struct ib_port_immutable *immutable) -{ - struct ib_port_attr attr; - int err; - - err = c4iw_query_port(ibdev, port_num, &attr); - if (err) - return err; - - immutable->pkey_tbl_len = attr.pkey_tbl_len; - immutable->gid_tbl_len = attr.gid_tbl_len; - immutable->core_cap_flags = RDMA_CORE_PORT_IWARP; - - return 0; -} /* * Returns -errno on error. From owner-svn-src-projects@freebsd.org Tue Nov 14 22:17:03 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E5DBFDDF607 for ; Tue, 14 Nov 2017 22:17:03 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AFDDF71C52; Tue, 14 Nov 2017 22:17:03 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAEMH2Qx082287; Tue, 14 Nov 2017 22:17:02 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAEMH2Sh082286; Tue, 14 Nov 2017 22:17:02 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201711142217.vAEMH2Sh082286@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 14 Nov 2017 22:17:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325830 - projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline X-SVN-Commit-Revision: 325830 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Nov 2017 22:17:04 -0000 Author: asomers Date: Tue Nov 14 22:17:02 2017 New Revision: 325830 URL: https://svnweb.freebsd.org/changeset/base/325830 Log: Fix cleanup of the online_offline tests tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh During cleanup, wipe the ZFS labels on all $DISKS Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh Tue Nov 14 21:31:30 2017 (r325829) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh Tue Nov 14 22:17:02 2017 (r325830) @@ -31,4 +31,6 @@ verify_runnable "global" -default_cleanup +default_cleanup_noexit +cleanup_devices ${DISKS} +log_pass From owner-svn-src-projects@freebsd.org Tue Nov 14 22:22:51 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CD225DDF856 for ; Tue, 14 Nov 2017 22:22:51 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 96CF772155; Tue, 14 Nov 2017 22:22:51 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAEMMoDN086549; Tue, 14 Nov 2017 22:22:50 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAEMMoGH086546; Tue, 14 Nov 2017 22:22:50 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201711142222.vAEMMoGH086546@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 14 Nov 2017 22:22:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325832 - projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline X-SVN-Commit-Revision: 325832 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Nov 2017 22:22:51 -0000 Author: asomers Date: Tue Nov 14 22:22:50 2017 New Revision: 325832 URL: https://svnweb.freebsd.org/changeset/base/325832 Log: Actually run reap_children during online_offline's cleanup tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh tests/sys/cddl/zfs/tests/online_offline/online_offline_001_pos.ksh tests/sys/cddl/zfs/tests/online_offline/online_offline_002_neg.ksh It seems that reap_children was intended to run during cleanup, but the onexit hook was never set. So I just moved it to the cleanup.ksh script, because all test cases in this directory need it. Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_001_pos.ksh projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_002_neg.ksh Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh Tue Nov 14 22:18:13 2017 (r325831) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh Tue Nov 14 22:22:50 2017 (r325832) @@ -31,6 +31,7 @@ verify_runnable "global" +reap_children default_cleanup_noexit cleanup_devices ${DISKS} log_pass Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_001_pos.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_001_pos.ksh Tue Nov 14 22:18:13 2017 (r325831) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_001_pos.ksh Tue Nov 14 22:22:50 2017 (r325832) @@ -30,11 +30,6 @@ verify_runnable "global" -function cleanup -{ - reap_children -} - function verify_assertion { busy_path $TESTDIR Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_002_neg.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_002_neg.ksh Tue Nov 14 22:18:13 2017 (r325831) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_002_neg.ksh Tue Nov 14 22:22:50 2017 (r325832) @@ -30,11 +30,6 @@ verify_runnable "global" -function cleanup -{ - reap_children -} - function verify_assertion { keyword="$1" From owner-svn-src-projects@freebsd.org Tue Nov 14 22:30:49 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AD207DDF94F for ; Tue, 14 Nov 2017 22:30:49 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 768F5722F6; Tue, 14 Nov 2017 22:30:49 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAEMUmZh087574; Tue, 14 Nov 2017 22:30:48 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAEMUmCX087573; Tue, 14 Nov 2017 22:30:48 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201711142230.vAEMUmCX087573@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 14 Nov 2017 22:30:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325833 - projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare X-SVN-Commit-Revision: 325833 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Nov 2017 22:30:49 -0000 Author: asomers Date: Tue Nov 14 22:30:48 2017 New Revision: 325833 URL: https://svnweb.freebsd.org/changeset/base/325833 Log: Fix intermittency in hotspare_import_001_pos tests/sys/cddl/zfs/tests/hotspare/hotspare_import_001_pos.ksh This test would occasionally fail because "zpool export" returns EBUSY. That's not unexpected since it immediately follows "zpool replace" and ZFS allows only one configuration change per transaction group. Usually a txg will close as soon as resilvering finishes, but sometimes "zpool export" sneaks in first. To fix the problem, allow up to one retry of "zpool export" Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare/hotspare_import_001_pos.ksh Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare/hotspare_import_001_pos.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare/hotspare_import_001_pos.ksh Tue Nov 14 22:22:50 2017 (r325832) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare/hotspare_import_001_pos.ksh Tue Nov 14 22:30:48 2017 (r325833) @@ -77,7 +77,13 @@ function verify_export_import #pool #file #chksum typeset file=$2 typeset checksum1=$3 - log_must $ZPOOL export $pool + if ! $ZPOOL export $pool; then + # Rarely, this can fail with EBUSY if the pool's configuration + # has already changed within the same transaction group. In + # that case, it is appropriate to retry. + $SYNC + log_must $ZPOOL export $POOL + fi log_must $ZPOOL import -d $HOTSPARE_TMPDIR $pool [[ ! -e $file ]] && \ From owner-svn-src-projects@freebsd.org Wed Nov 15 11:28:15 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 65269DD9C59 for ; Wed, 15 Nov 2017 11:28:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C966666EA8; Wed, 15 Nov 2017 11:28:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAFBSD1q019281; Wed, 15 Nov 2017 11:28:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAFBSC7d019264; Wed, 15 Nov 2017 11:28:12 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711151128.vAFBSC7d019264@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 15 Nov 2017 11:28:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325842 - in projects/bsd_rdma_4_9: . bin/freebsd-version contrib/zstd etc lib/clang/libclang lib/clang/libllvm lib/libc/string lib/libc/sys lib/libcasper/libcasper lib/libcasper/servic... X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in projects/bsd_rdma_4_9: . bin/freebsd-version contrib/zstd etc lib/clang/libclang lib/clang/libllvm lib/libc/string lib/libc/sys lib/libcasper/libcasper lib/libcasper/services lib/libcasper/services... X-SVN-Commit-Revision: 325842 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Nov 2017 11:28:15 -0000 Author: hselasky Date: Wed Nov 15 11:28:11 2017 New Revision: 325842 URL: https://svnweb.freebsd.org/changeset/base/325842 Log: Merge ^/head r325663 through r325841. Added: projects/bsd_rdma_4_9/lib/libcasper/services/cap_syslog/ - copied from r325841, head/lib/libcasper/services/cap_syslog/ projects/bsd_rdma_4_9/stand/ - copied from r325841, head/stand/ - copied from r325841, head/sys/contrib/zstd/ projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/fw_qos.h - copied unchanged from r325841, head/sys/dev/mlx4/mlx4_core/fw_qos.h projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_fw_qos.c - copied unchanged from r325841, head/sys/dev/mlx4/mlx4_core/mlx4_fw_qos.c projects/bsd_rdma_4_9/sys/dts/ - copied from r325841, head/sys/dts/ projects/bsd_rdma_4_9/tools/build/options/WITHOUT_LOADER_GELI - copied unchanged from r325841, head/tools/build/options/WITHOUT_LOADER_GELI projects/bsd_rdma_4_9/tools/build/options/WITH_LOADER_FIREWIRE - copied unchanged from r325841, head/tools/build/options/WITH_LOADER_FIREWIRE Directory Properties: projects/bsd_rdma_4_9/sys/contrib/zstd/ (props changed) Deleted: projects/bsd_rdma_4_9/contrib/zstd/ projects/bsd_rdma_4_9/share/man/man7/mailaddr.7 projects/bsd_rdma_4_9/share/misc/eqnchar projects/bsd_rdma_4_9/sys/boot/ projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_sys_tune.c projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/fortunes projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/fortunes.sp.ok projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/gerrold.limerick projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/limerick projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/limerick.sp.ok projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/murphy projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/murphy-o projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/murphy.sp.ok projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/startrek projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/startrek.sp.ok projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/zippy projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/zippy.sp.ok Modified: projects/bsd_rdma_4_9/MAINTAINERS (contents, props changed) projects/bsd_rdma_4_9/Makefile projects/bsd_rdma_4_9/Makefile.inc1 projects/bsd_rdma_4_9/ObsoleteFiles.inc projects/bsd_rdma_4_9/UPDATING projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.1 projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.sh.in projects/bsd_rdma_4_9/etc/Makefile projects/bsd_rdma_4_9/etc/devd.conf projects/bsd_rdma_4_9/lib/clang/libclang/Makefile projects/bsd_rdma_4_9/lib/clang/libllvm/Makefile projects/bsd_rdma_4_9/lib/libc/string/memcpy.3 projects/bsd_rdma_4_9/lib/libc/string/strcat.3 projects/bsd_rdma_4_9/lib/libc/string/strcpy.3 projects/bsd_rdma_4_9/lib/libc/sys/_umtx_op.2 projects/bsd_rdma_4_9/lib/libcasper/libcasper/libcasper.h projects/bsd_rdma_4_9/lib/libcasper/services/Makefile projects/bsd_rdma_4_9/lib/libefivar/Makefile projects/bsd_rdma_4_9/lib/libefivar/efivar.c projects/bsd_rdma_4_9/lib/libefivar/efivar.h projects/bsd_rdma_4_9/lib/libkvm/kvm.c projects/bsd_rdma_4_9/lib/libkvm/kvm.h projects/bsd_rdma_4_9/lib/libkvm/kvm_aarch64.h projects/bsd_rdma_4_9/lib/libkvm/kvm_amd64.c projects/bsd_rdma_4_9/lib/libkvm/kvm_amd64.h projects/bsd_rdma_4_9/lib/libkvm/kvm_arm.h projects/bsd_rdma_4_9/lib/libkvm/kvm_i386.c projects/bsd_rdma_4_9/lib/libkvm/kvm_i386.h projects/bsd_rdma_4_9/lib/libkvm/kvm_minidump_aarch64.c projects/bsd_rdma_4_9/lib/libkvm/kvm_minidump_amd64.c projects/bsd_rdma_4_9/lib/libkvm/kvm_minidump_arm.c projects/bsd_rdma_4_9/lib/libkvm/kvm_minidump_i386.c projects/bsd_rdma_4_9/lib/libkvm/kvm_minidump_mips.c projects/bsd_rdma_4_9/lib/libkvm/kvm_mips.h projects/bsd_rdma_4_9/lib/libkvm/kvm_private.c projects/bsd_rdma_4_9/lib/libkvm/kvm_private.h projects/bsd_rdma_4_9/lib/libutil/hexdump.3 projects/bsd_rdma_4_9/lib/libzstd/Makefile projects/bsd_rdma_4_9/libexec/rtld-elf/mips/rtld_start.S projects/bsd_rdma_4_9/release/Makefile.mirrors projects/bsd_rdma_4_9/release/arm/GUMSTIX.conf projects/bsd_rdma_4_9/release/arm64/PINE64.conf projects/bsd_rdma_4_9/release/arm64/RPI3.conf projects/bsd_rdma_4_9/release/powerpc/generate-hfs.sh projects/bsd_rdma_4_9/release/release.sh projects/bsd_rdma_4_9/release/tools/vmimage.subr projects/bsd_rdma_4_9/sbin/dhclient/Makefile projects/bsd_rdma_4_9/sbin/dhclient/dhclient.c projects/bsd_rdma_4_9/sbin/dhclient/dhcpd.h projects/bsd_rdma_4_9/sbin/dhclient/dispatch.c projects/bsd_rdma_4_9/sbin/dhclient/errwarn.c projects/bsd_rdma_4_9/sbin/ping/ping.c projects/bsd_rdma_4_9/secure/Makefile projects/bsd_rdma_4_9/share/examples/bootforth/README projects/bsd_rdma_4_9/share/examples/etc/make.conf projects/bsd_rdma_4_9/share/man/man4/fdt.4 projects/bsd_rdma_4_9/share/man/man4/gpioiic.4 projects/bsd_rdma_4_9/share/man/man4/gpioled.4 projects/bsd_rdma_4_9/share/man/man4/owc.4 projects/bsd_rdma_4_9/share/man/man5/forward.5 projects/bsd_rdma_4_9/share/man/man5/make.conf.5 projects/bsd_rdma_4_9/share/man/man7/Makefile projects/bsd_rdma_4_9/share/man/man7/arch.7 projects/bsd_rdma_4_9/share/man/man7/hostname.7 projects/bsd_rdma_4_9/share/man/man8/diskless.8 projects/bsd_rdma_4_9/share/misc/Makefile projects/bsd_rdma_4_9/share/misc/pci_vendors projects/bsd_rdma_4_9/share/mk/bsd.crunchgen.mk projects/bsd_rdma_4_9/share/mk/bsd.dep.mk projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk projects/bsd_rdma_4_9/share/mk/src.libnames.mk projects/bsd_rdma_4_9/share/mk/src.opts.mk projects/bsd_rdma_4_9/share/mk/src.sys.obj.mk projects/bsd_rdma_4_9/share/mk/sys.mk projects/bsd_rdma_4_9/sys/Makefile projects/bsd_rdma_4_9/sys/amd64/amd64/machdep.c projects/bsd_rdma_4_9/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c projects/bsd_rdma_4_9/sys/cam/cam_ccb.h projects/bsd_rdma_4_9/sys/cam/nvme/nvme_all.c projects/bsd_rdma_4_9/sys/cam/nvme/nvme_all.h projects/bsd_rdma_4_9/sys/cam/nvme/nvme_xpt.c projects/bsd_rdma_4_9/sys/compat/linux/linux_signal.c projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/sched.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/timer.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_compat.c projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_current.c projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_schedule.c projects/bsd_rdma_4_9/sys/conf/dtb.mk projects/bsd_rdma_4_9/sys/conf/files projects/bsd_rdma_4_9/sys/conf/makeLINT.mk projects/bsd_rdma_4_9/sys/contrib/dev/acpica/acpica_prep.sh projects/bsd_rdma_4_9/sys/contrib/dev/acpica/changes.txt projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/dmtable.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/dmtbdump.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/dmtbinfo.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asldefine.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/dttable2.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/dttemplate.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/debugger/dbexec.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/debugger/dbinput.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dsfield.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dsobject.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dsutils.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dswload.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dswload2.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/events/evregion.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/namespace/nsconvert.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/namespace/nsnames.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/parser/psargs.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utdecode.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/uterror.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utmutex.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utstrsuppt.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/uttrack.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utxferror.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acdebug.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acdisasm.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/aclocal.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acmacros.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acnamesp.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acpixf.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/actbl1.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/actbl2.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acutils.h projects/bsd_rdma_4_9/sys/contrib/octeon-sdk/cvmx-app-init.h projects/bsd_rdma_4_9/sys/contrib/octeon-sdk/cvmx-helper-board.c projects/bsd_rdma_4_9/sys/dev/cxgbe/adapter.h projects/bsd_rdma_4_9/sys/dev/cxgbe/common/t4_hw.c projects/bsd_rdma_4_9/sys/dev/hwpmc/hwpmc_logging.c projects/bsd_rdma_4_9/sys/dev/hwpmc/hwpmc_mod.c projects/bsd_rdma_4_9/sys/dev/mlx4/cmd.h projects/bsd_rdma_4_9/sys/dev/mlx4/cq.h projects/bsd_rdma_4_9/sys/dev/mlx4/device.h projects/bsd_rdma_4_9/sys/dev/mlx4/driver.h projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/fw.h projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/icm.h projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4.h projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_alloc.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_catas.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_cmd.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_cq.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_eq.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_fw.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_icm.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_intf.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_main.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_mcg.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_mr.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_pd.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_port.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_profile.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_qp.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_reset.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_resource_tracker.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_sense.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_srq.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/en.h projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/en_port.h projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_cq.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_main.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_port.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_resources.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_rx.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c projects/bsd_rdma_4_9/sys/dev/mlx4/qp.h projects/bsd_rdma_4_9/sys/dev/mlx4/stats.h projects/bsd_rdma_4_9/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c projects/bsd_rdma_4_9/sys/dev/mpr/mpr.c projects/bsd_rdma_4_9/sys/dev/mps/mps.c projects/bsd_rdma_4_9/sys/dev/nvme/nvme.h projects/bsd_rdma_4_9/sys/dev/nvme/nvme_sim.c projects/bsd_rdma_4_9/sys/dev/usb/net/if_ure.c projects/bsd_rdma_4_9/sys/dev/usb/quirk/usb_quirk.c projects/bsd_rdma_4_9/sys/dev/vnic/nicvf_main.c projects/bsd_rdma_4_9/sys/dev/vnic/nicvf_queues.c projects/bsd_rdma_4_9/sys/dev/vt/vt_core.c projects/bsd_rdma_4_9/sys/kern/kern_event.c projects/bsd_rdma_4_9/sys/kern/kern_proc.c projects/bsd_rdma_4_9/sys/kern/kern_rwlock.c projects/bsd_rdma_4_9/sys/kern/kern_shutdown.c projects/bsd_rdma_4_9/sys/kern/kern_sig.c projects/bsd_rdma_4_9/sys/kern/kern_sysctl.c projects/bsd_rdma_4_9/sys/kern/kern_time.c projects/bsd_rdma_4_9/sys/kern/p1003_1b.c projects/bsd_rdma_4_9/sys/kern/sys_process.c projects/bsd_rdma_4_9/sys/mips/beri/beri_machdep.c projects/bsd_rdma_4_9/sys/modules/mlx4/Makefile projects/bsd_rdma_4_9/sys/modules/nvme/Makefile projects/bsd_rdma_4_9/sys/netinet/sctp_input.c projects/bsd_rdma_4_9/sys/netinet/tcp_output.c projects/bsd_rdma_4_9/sys/powerpc/mpc85xx/pci_mpc85xx_pcib.c projects/bsd_rdma_4_9/sys/sys/aio.h projects/bsd_rdma_4_9/sys/sys/proc.h projects/bsd_rdma_4_9/sys/sys/shm.h projects/bsd_rdma_4_9/sys/sys/umtx.h projects/bsd_rdma_4_9/sys/tools/fdt/make_dtb.sh projects/bsd_rdma_4_9/sys/x86/include/specialreg.h projects/bsd_rdma_4_9/targets/pseudo/userland/Makefile.depend projects/bsd_rdma_4_9/targets/pseudo/userland/lib/Makefile.depend projects/bsd_rdma_4_9/targets/pseudo/userland/misc/Makefile.depend projects/bsd_rdma_4_9/targets/pseudo/userland/share/Makefile.depend projects/bsd_rdma_4_9/tests/sys/aio/aio_kqueue_test.c projects/bsd_rdma_4_9/tests/sys/aio/lio_kqueue_test.c projects/bsd_rdma_4_9/tools/boot/universe.sh projects/bsd_rdma_4_9/tools/tools/bootparttest/Makefile projects/bsd_rdma_4_9/tools/tools/sysdoc/tunables.mdoc projects/bsd_rdma_4_9/tools/tools/zfsboottest/Makefile projects/bsd_rdma_4_9/usr.bin/find/function.c projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/Makefile projects/bsd_rdma_4_9/usr.bin/mail/mail.1 projects/bsd_rdma_4_9/usr.bin/rctl/rctl.c projects/bsd_rdma_4_9/usr.bin/vmstat/vmstat.c projects/bsd_rdma_4_9/usr.bin/zstd/Makefile projects/bsd_rdma_4_9/usr.sbin/bhyve/uart_emul.c projects/bsd_rdma_4_9/usr.sbin/bhyveload/Makefile projects/bsd_rdma_4_9/usr.sbin/efivar/Makefile projects/bsd_rdma_4_9/usr.sbin/efivar/efivar.c projects/bsd_rdma_4_9/usr.sbin/jail/command.c projects/bsd_rdma_4_9/usr.sbin/jail/jail.8 projects/bsd_rdma_4_9/usr.sbin/jail/jail.c projects/bsd_rdma_4_9/usr.sbin/jexec/jexec.c Directory Properties: projects/bsd_rdma_4_9/ (props changed) projects/bsd_rdma_4_9/sys/contrib/dev/acpica/ (props changed) projects/bsd_rdma_4_9/sys/contrib/octeon-sdk/ (props changed) Modified: projects/bsd_rdma_4_9/MAINTAINERS ============================================================================== --- projects/bsd_rdma_4_9/MAINTAINERS Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/MAINTAINERS Wed Nov 15 11:28:11 2017 (r325842) @@ -86,7 +86,7 @@ sh(1) jilles Pre-commit review requested. This also compiled in as builtins. share/mk imp, bapt, bdrewery, emaste, sjg Make is hard. share/mk/*.test.mk freebsd-testing,ngie (same list as share/mk too) Pre-commit review requested. -sys/boot/forth dteske Pre-commit review requested. +stand/forth dteske Pre-commit review requested. sys/compat/linuxkpi hselasky If in doubt, ask. sys/dev/e1000 erj Pre-commit phabricator review requested. sys/dev/ixgbe erj Pre-commit phabricator review requested. Modified: projects/bsd_rdma_4_9/Makefile ============================================================================== --- projects/bsd_rdma_4_9/Makefile Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/Makefile Wed Nov 15 11:28:11 2017 (r325842) @@ -130,7 +130,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel bu installkernel.debug packagekernel packageworld \ reinstallkernel reinstallkernel.debug \ installworld kernel-toolchain libraries lint maninstall \ - obj objlink rerelease showconfig tags toolchain update \ + obj objlink showconfig tags toolchain update \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _build-metadata _cross-tools _includes _libraries \ build32 distribute32 install32 buildsoft distributesoft installsoft \ @@ -167,6 +167,18 @@ META_TGT_WHITELIST+= \ tinderbox toolchain \ toolchains universe world worlds xdev xdev-build +# Likewise for AUTO_OBJ. Many targets do not need object directories created +# for each visited directory. Only when things are being built are they +# needed. Having AUTO_OBJ disabled in a build target is fine as it should +# fallback to running 'make obj' as needed. If a target is not in this list +# then it is ran with MK_AUTO_OBJ=no in environment. +# 'showconfig' is in the list to avoid forcing MK_AUTO_OBJ=no for it. +AUTO_OBJ_TGT_WHITELIST+= \ + _* all all-man build* depend everything *toolchain* includes \ + libraries obj objlink showconfig tags xdev xdev-build native-xtools \ + stage* create-packages* real-packages sign-packages package-pkg \ + tinderbox universe* kernel kernels world worlds bmake + .ORDER: buildworld installworld .ORDER: buildworld distrib-dirs .ORDER: buildworld distribution @@ -235,8 +247,11 @@ SUB_MAKE= ${MAKE} -m ${.CURDIR}/share/mk _MAKE= PATH=${PATH} MAKE_CMD="${MAKE}" ${SUB_MAKE} -f Makefile.inc1 \ TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH} +.if defined(MK_META_MODE) && ${MK_META_MODE} == "yes" # Only allow meta mode for the whitelisted targets. See META_TGT_WHITELIST -# above. +# above. If overridden as a make argument then don't bother trying to +# disable it. +.if empty(.MAKEOVERRIDES:MMK_META_MODE) .for _tgt in ${META_TGT_WHITELIST} .if make(${_tgt}) _CAN_USE_META_MODE?= yes @@ -244,18 +259,38 @@ _CAN_USE_META_MODE?= yes .endfor .if !defined(_CAN_USE_META_MODE) _MAKE+= MK_META_MODE=no +MK_META_MODE= no .if defined(.PARSEDIR) .unexport META_MODE .endif -.elif defined(MK_META_MODE) && ${MK_META_MODE} == "yes" +.endif # !defined(_CAN_USE_META_MODE) +.endif # empty(.MAKEOVERRIDES:MMK_META_MODE) + +.if ${MK_META_MODE} == "yes" .if !exists(/dev/filemon) && !defined(NO_FILEMON) && !make(showconfig) # Require filemon be loaded to provide a working incremental build .error ${.newline}ERROR: The filemon module (/dev/filemon) is not loaded. \ ${.newline}ERROR: WITH_META_MODE is enabled but requires filemon for an incremental build. \ ${.newline}ERROR: 'kldload filemon' or pass -DNO_FILEMON to suppress this error. .endif # !exists(/dev/filemon) && !defined(NO_FILEMON) -.endif # !defined(_CAN_USE_META_MODE) +.endif # ${MK_META_MODE} == yes +.endif # defined(MK_META_MODE) && ${MK_META_MODE} == yes +# Only allow AUTO_OBJ for the whitelisted targets. See AUTO_OBJ_TGT_WHITELIST +# above. MK_AUTO_OBJ not checked here for "yes" as it may not yet be enabled +# since it is opportunistic. +.if empty(.MAKEOVERRIDES:MMK_AUTO_OBJ) +.for _tgt in ${AUTO_OBJ_TGT_WHITELIST} +.if make(${_tgt}) +_CAN_USE_AUTO_OBJ?= yes +.endif +.endfor +.if !defined(_CAN_USE_AUTO_OBJ) +_MAKE+= MK_AUTO_OBJ=no +MK_AUTO_OBJ= no +.endif +.endif # empty(.MAKEOVERRIDES:MMK_AUTO_OBJ) + # Guess target architecture from target type, and vice versa, based on # historic FreeBSD practice of tending to have TARGET == TARGET_ARCH # expanding to TARGET == TARGET_CPUARCH in recent times, with known @@ -290,6 +325,15 @@ ${XTGTS}: _assert_target _TARGET?= ${MACHINE} _TARGET_ARCH?= ${MACHINE_ARCH} +.if make(native-xtools*) +NXB_TARGET:= ${_TARGET} +NXB_TARGET_ARCH:= ${_TARGET_ARCH} +_TARGET= ${MACHINE} +_TARGET_ARCH= ${MACHINE_ARCH} +_MAKE+= NXB_TARGET=${NXB_TARGET} \ + NXB_TARGET_ARCH=${NXB_TARGET_ARCH} +.endif + .if make(print-dir) .SILENT: .endif @@ -554,7 +598,7 @@ universe_${target}_kernels: universe_${target}_worlds universe_${target}_kernels: universe_${target}_prologue .MAKE .PHONY .if exists(${KERNSRCDIR}/${target}/conf/NOTES) @(cd ${KERNSRCDIR}/${target}/conf && env __MAKE_CONF=/dev/null \ - ${SUB_MAKE} -DNO_OBJ LINT \ + ${SUB_MAKE} LINT \ > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \ (echo "${target} 'make LINT' failed," \ "check _.${target}.makeLINT for details"| ${MAKEFAIL})) Modified: projects/bsd_rdma_4_9/Makefile.inc1 ============================================================================== --- projects/bsd_rdma_4_9/Makefile.inc1 Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/Makefile.inc1 Wed Nov 15 11:28:11 2017 (r325842) @@ -251,6 +251,9 @@ SUBDIR+=secure .if !defined(NO_SHARE) SUBDIR+=share .endif +.if ${MK_BOOT} != "no" +SUBDIR+=stand +.endif SUBDIR+=sys usr.bin usr.sbin .if ${MK_TESTS} != "no" SUBDIR+= tests @@ -1986,6 +1989,9 @@ _rescue=rescue/rescue .if ${MK_TCSH} != "no" _tcsh=bin/csh .endif +.if ${MK_FILE} != "no" +_libmagic=lib/libmagic +.endif # kernel-toolchain skips _cleanobj, so handle cleaning up previous # build-tools directories if needed. @@ -2002,7 +2008,7 @@ _bt_clean= ${CLEANDIR} ${_rescue} \ ${_share} \ usr.bin/awk \ - lib/libmagic \ + ${_libmagic} \ usr.bin/mkesdb_static \ usr.bin/mkcsmapper_static \ usr.bin/vi/catalog \ @@ -2079,7 +2085,7 @@ _clang_libs= lib/clang _gcc= gnu/usr.bin/cc .endif .if ${MK_USB} != "no" -_usb_tools= sys/boot/usb/tools +_usb_tools= stand/usb/tools .endif cross-tools: .MAKE .PHONY @@ -2110,7 +2116,7 @@ cross-tools: .MAKE .PHONY # to pickup. # NXBOBJROOT= ${OBJROOT}${MACHINE}.${MACHINE_ARCH}/nxb/ -NXBOBJTOP= ${NXBOBJROOT}${TARGET}.${TARGET_ARCH} +NXBOBJTOP= ${NXBOBJROOT}${NXB_TARGET}.${NXB_TARGET_ARCH} NXTP?= /nxb-bin .if ${NXTP:N/*} .error NXTP variable should be an absolute path @@ -2180,20 +2186,27 @@ NXBDIRS+= \ usr.bin/yacc \ usr.sbin/chown +SUBDIR_DEPEND_usr.bin/clang= lib/clang .if ${MK_CLANG} != "no" NXBDIRS+= lib/clang -SUBDIR_DEPEND_usr.bin/clang= lib/clang NXBDIRS+= usr.bin/clang -.elif ${MK_GCC} != "no" +.endif +.if ${MK_GCC} != "no" NXBDIRS+= gnu/usr.bin/cc .endif .if ${MK_BINUTILS} != "no" NXBDIRS+= gnu/usr.bin/binutils .endif +# XXX: native-xtools passes along ${NXBDIRS} in SUBDIR_OVERRIDE that needs +# to be evaluated after NXBDIRS is set. +.if make(install) && !empty(SUBDIR_OVERRIDE) +SUBDIR= ${SUBDIR_OVERRIDE} +.endif NXBMAKEARGS+= \ OBJTOP=${NXBOBJTOP:Q} \ OBJROOT=${NXBOBJROOT:Q} \ + MAKEOBJDIRPREFIX= \ -DNO_SHARED \ -DNO_CPU_CFLAGS \ -DNO_PIC \ @@ -2216,7 +2229,10 @@ NXBMAKEARGS+= \ MK_WARNS=no \ MK_ZFS=no - +.if make(native-xtools*) && \ + (!defined(NXB_TARGET) || !defined(NXB_TARGET_ARCH)) +.error Missing NXB_TARGET / NXB_TARGET_ARCH +.endif # For 'toolchain' we want to produce native binaries that themselves generate # native binaries. NXBTMAKE= ${NXBMAKEENV} ${MAKE} ${NXBMAKEARGS:N-DNO_PIC:N-DNO_SHARED} \ @@ -2224,11 +2240,32 @@ NXBTMAKE= ${NXBMAKEENV} ${MAKE} ${NXBMAKEARGS:N-DNO_PI # For 'everything' we want to produce native binaries (hence -target to # be MACHINE) that themselves generate TARGET.TARGET_ARCH binaries. # TARGET/TARGET_ARCH are still passed along from user. -NXBMAKE= ${NXBMAKEENV} ${MAKE} ${NXBMAKEARGS} \ +# +# Use the toolchain we create as an external toolchain. +.if ${USING_SYSTEM_COMPILER} == "yes" || ${XCC:N${CCACHE_BIN}:M/*} +NXBMAKE+= XCC="${XCC}" \ + XCXX="${XCXX}" \ + XCPP="${XCPP}" +.else +NXBMAKE+= XCC="${NXBOBJTOP}/tmp/usr/bin/cc" \ + XCXX="${NXBOBJTOP}/tmp/usr/bin/c++" \ + XCPP="${NXBOBJTOP}/tmp/usr/bin/cpp" +.endif +NXBMAKE+= ${NXBMAKEENV} ${MAKE} -f Makefile.inc1 ${NXBMAKEARGS} \ + TARGET=${NXB_TARGET} TARGET_ARCH=${NXB_TARGET_ARCH} \ TARGET_TRIPLE=${MACHINE_TRIPLE:Q} +# NXBDIRS is improperly based on MACHINE rather than NXB_TARGET. Need to +# invoke a sub-make to reevaluate MK_GCC, etc, for NXBDIRS. +NXBMAKE+= SUBDIR_OVERRIDE='$${NXBDIRS:M*}' +# Need to avoid the -isystem logic when using clang as an external toolchain +# even if the TARGET being built for wants GCC. +NXBMAKE+= WANT_COMPILER_TYPE='$${X_COMPILER_TYPE}' native-xtools: .PHONY + ${_+_}cd ${.CURDIR}; ${NXBTMAKE} _cleanobj # Build the bootstrap/host/cross tools that produce native binaries - ${_+_}cd ${.CURDIR}; ${NXBTMAKE} kernel-toolchain + # Pass along MK_GCC=yes to ensure GCC-needed build tools are built. + # We don't quite know what the NXB_TARGET wants so just build it. + ${_+_}cd ${.CURDIR}; ${NXBTMAKE} kernel-toolchain MK_GCC=yes # Populate includes/libraries sysroot that produce native binaries. # This is split out from 'toolchain' above mostly so that target LLVM # libraries have a proper LLVM_DEFAULT_TARGET_TRIPLE without @@ -2238,10 +2275,9 @@ native-xtools: .PHONY ${_+_}cd ${.CURDIR}; ${NXBTMAKE} _includes MK_CLANG=no MK_GCC=no ${_+_}cd ${.CURDIR}; ${NXBTMAKE} _libraries MK_CLANG=no MK_GCC=no .if !defined(NO_OBJWALK) - ${_+_}cd ${.CURDIR}; ${NXBMAKE} SUBDIR_OVERRIDE="${NXBDIRS:M*}" _obj + ${_+_}cd ${.CURDIR}; ${NXBMAKE} _obj .endif - ${_+_}cd ${.CURDIR}; ${NXBMAKE} SUBDIR_OVERRIDE="${NXBDIRS:M*}" \ - everything + ${_+_}cd ${.CURDIR}; ${NXBMAKE} everything @echo ">> native-xtools done. Use 'make native-xtools-install' to install to a given DESTDIR" native-xtools-install: .PHONY @@ -2250,9 +2286,8 @@ native-xtools-install: .PHONY -p ${NXBDESTDIR}/usr >/dev/null mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${NXBDESTDIR}/usr/include >/dev/null - ${_+_}cd ${.CURDIR}; ${NXBMAKE} -f Makefile.inc1 \ + ${_+_}cd ${.CURDIR}; ${NXBMAKE} \ DESTDIR=${NXBDESTDIR} \ - SUBDIR_OVERRIDE="${NXBDIRS:M*}" \ -DNO_ROOT \ install @@ -2785,7 +2820,8 @@ cleanworld cleanuniverse: .PHONY -chflags -R 0 ${BW_CANONICALOBJDIR} rm -rf ${BW_CANONICALOBJDIR}* .endif -.if make(cleanworld) && ${MK_AUTO_OBJ} == "no" +.if make(cleanworld) && ${MK_AUTO_OBJ} == "no" && \ + (empty(BW_CANONICALOBJDIR) || ${.CURDIR:tA} == ${BW_CANONICALOBJDIR:tA}) .if ${.CURDIR} == ${.OBJDIR} || ${.CURDIR}/obj == ${.OBJDIR} # To be safe in this case, fall back to a 'make cleandir' ${_+_}@cd ${.CURDIR}; ${MAKE} cleandir Modified: projects/bsd_rdma_4_9/ObsoleteFiles.inc ============================================================================== --- projects/bsd_rdma_4_9/ObsoleteFiles.inc Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/ObsoleteFiles.inc Wed Nov 15 11:28:11 2017 (r325842) @@ -38,6 +38,25 @@ # xargs -n1 | sort | uniq -d; # done +# 20171114: Removal of all fortune datfiles other than freebsd-tips +OLD_FILES+=usr/share/games/fortune/fortunes +OLD_FILES+=usr/share/games/fortune/fortunes.dat +OLD_FILES+=usr/share/games/fortune/gerrold.limerick +OLD_FILES+=usr/share/games/fortune/gerrold.limerick.dat +OLD_FILES+=usr/share/games/fortune/limerick +OLD_FILES+=usr/share/games/fortune/limerick.dat +OLD_FILES+=usr/share/games/fortune/murphy +OLD_FILES+=usr/share/games/fortune/murphy-o +OLD_FILES+=usr/share/games/fortune/murphy-o.dat +OLD_FILES+=usr/share/games/fortune/murphy.dat +OLD_FILES+=usr/share/games/fortune/startrek +OLD_FILES+=usr/share/games/fortune/startrek.dat +OLD_FILES+=usr/share/games/fortune/zippy +OLD_FILES+=usr/share/games/fortune/zippy.dat +# 20171112: Removal of eqnchar definition +OLD_FILES+=usr/share/misc/eqnchar +# 20171110: Removal of mailaddr man page +OLD_FILES+=usr/share/man/man7/mailaddr.7.gz # 20171108: badsect(8) removal OLD_FILES+=sbin/badsect OLD_FILES+=rescue/badsect @@ -71,7 +90,7 @@ OLD_FILES+=usr/lib/libcap_random.a OLD_FILES+=usr/lib/libcap_random_p.a OLD_FILES+=usr/lib/libcap_sysctl.a OLD_FILES+=usr/lib/libcap_sysctl_p.a -# 20171031: Removal of obsolete man files +# 20171031: Removal of adding_user man page OLD_FILES+=usr/share/man/man7/adding_user.7.gz # 20171031: Disconnected libpathconv tests OLD_DIRS+=usr/tests/lib/libpathconv Modified: projects/bsd_rdma_4_9/UPDATING ============================================================================== --- projects/bsd_rdma_4_9/UPDATING Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/UPDATING Wed Nov 15 11:28:11 2017 (r325842) @@ -51,6 +51,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: ****************************** SPECIAL WARNING: ****************************** +201711xx: + The LOADER_FIREWIRE_SUPPORT build variable as been renamed to + WITH/OUT_LOADER_FIREWIRE. LOADER_{NO_,}GELI_SUPPORT has been renamed + to WITH/OUT_LOADER_GELI. + 20171106: The naive and non-compliant support of posix_fallocate(2) in ZFS has been removed as of r325320. The system call now returns EINVAL Modified: projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.1 ============================================================================== --- projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.1 Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.1 Wed Nov 15 11:28:11 2017 (r325842) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 5, 2013 +.Dd November 14, 2017 .Dt FREEBSD-VERSION 1 .Os .Sh NAME @@ -33,7 +33,7 @@ .Nd print the version and patch level of the installed system .Sh SYNOPSIS .Nm -.Op Fl ku +.Op Fl kru .Sh DESCRIPTION The .Nm @@ -50,6 +50,11 @@ if a new kernel has been installed but the system has rebooted, .Nm will print the version and patch level of the new kernel. +.It Fl r +Print the version and patch level of the running kernel. +Unlike +.Xr uname 1 , +this is unaffected by environment variables. .It Fl u Print the version and patch level of the installed userland. These are hardcoded into @@ -57,14 +62,10 @@ These are hardcoded into during the build. .El .Pp -If both -.Fl k -and -.Fl u -are specified, +If several of the above options are specified, .Nm -will print the kernel version first, then the userland version, on -separate lines. +will print the installed kernel version first, then the running kernel +version, and finally the userland version, on separate lines. If neither is specified, it will print the userland version only. .Sh IMPLEMENTATION NOTES The Modified: projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.sh.in ============================================================================== --- projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.sh.in Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.sh.in Wed Nov 15 11:28:11 2017 (r325842) @@ -38,7 +38,7 @@ LOADER_RE1='^\([A-Z_a-z][0-9A-Z_a-z]*=[-./0-9A-Z_a-z]\ LOADER_RE2='^\([A-Z_a-z][0-9A-Z_a-z]*="[-./0-9A-Z_a-z]\{1,\}"\).*$' KERNEL_RE='^@@TYPE@@ \([-.0-9A-Za-z]\{1,\}\) .*$' -progname=$(basename $0) +progname=${0##*/} # # Print an error message and exit. @@ -71,6 +71,13 @@ kernel_version() { } # +# Print the version of the currently running kernel. +# +running_version() { + sysctl -n kern.osrelease +} + +# # Print the hardcoded userland version. # userland_version() { @@ -81,7 +88,7 @@ userland_version() { # Print a usage string and exit. # usage() { - echo "usage: $progname [-ku]" >&2 + echo "usage: $progname [-kru]" >&2 exit 1 } @@ -90,11 +97,14 @@ usage() { # main() { # parse command-line arguments - while getopts "ku" option ; do + while getopts "kru" option ; do case $option in k) opt_k=1 ;; + r) + opt_r=1 + ;; u) opt_u=1 ;; @@ -108,13 +118,18 @@ main() { fi # default is -u - if [ $((opt_k + opt_u)) -eq 0 ] ; then + if [ $((opt_k + opt_r + opt_u)) -eq 0 ] ; then opt_u=1 fi - # print kernel version + # print installed kernel version if [ $opt_k ] ; then kernel_version + fi + + # print running kernel version + if [ $opt_r ] ; then + running_version fi # print userland version Modified: projects/bsd_rdma_4_9/etc/Makefile ============================================================================== --- projects/bsd_rdma_4_9/etc/Makefile Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/etc/Makefile Wed Nov 15 11:28:11 2017 (r325842) @@ -152,8 +152,6 @@ BIN1+= regdomain.xml # -rwxr-xr-x root:wheel, for the new cron root:wheel BIN2= netstart pccard_ether rc.suspend rc.resume -PPPCNF= ppp.conf - .if ${MK_SENDMAIL} == "no" ETCMAIL=mailer.conf aliases .else Modified: projects/bsd_rdma_4_9/etc/devd.conf ============================================================================== --- projects/bsd_rdma_4_9/etc/devd.conf Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/etc/devd.conf Wed Nov 15 11:28:11 2017 (r325842) @@ -20,7 +20,8 @@ options { #XXX Yes, these are gross -- imp set scsi-controller-regex "(aac|adv|adw|aha|ahc|ahd|aic|amr|bt|ciss|dpt|\ - esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm)\ + esp|ida|iir|ips|isp|mlx|mly|mpr|mps|mpt|ncr|ncv|nsp|stg|sym|\ + trm)\ [0-9]+"; set wifi-driver-regex "(ath|bwi|bwn|ipw|iwi|iwm|iwn|malo|mwl|ral|rsu|rtwn|rum|run|\ Modified: projects/bsd_rdma_4_9/lib/clang/libclang/Makefile ============================================================================== --- projects/bsd_rdma_4_9/lib/clang/libclang/Makefile Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/lib/clang/libclang/Makefile Wed Nov 15 11:28:11 2017 (r325842) @@ -790,16 +790,7 @@ clang/StaticAnalyzer/Checkers/Checkers.inc: \ ${CLANG_SRCS}/include/clang/StaticAnalyzer/Checkers/Checkers.td TGHDRS+= clang/StaticAnalyzer/Checkers/Checkers.inc -.for dep in ${TGHDRS:C/$/.d/} -. if ${MAKE_VERSION} < 20160220 -. if !make(depend) -. sinclude "${dep}" -. endif -. else -. dinclude "${dep}" -. endif -.endfor - +DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} Modified: projects/bsd_rdma_4_9/lib/clang/libllvm/Makefile ============================================================================== --- projects/bsd_rdma_4_9/lib/clang/libllvm/Makefile Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/lib/clang/libllvm/Makefile Wed Nov 15 11:28:11 2017 (r325842) @@ -1412,16 +1412,7 @@ TGHDRS+= X86GenRegisterBank.inc TGHDRS+= X86GenRegisterInfo.inc TGHDRS+= X86GenSubtargetInfo.inc -.for dep in ${TGHDRS:C/$/.d/} -. if ${MAKE_VERSION} < 20160220 -. if !make(depend) -. sinclude "${dep}" -. endif -. else -. dinclude "${dep}" -. endif -.endfor - +DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} Modified: projects/bsd_rdma_4_9/lib/libc/string/memcpy.3 ============================================================================== --- projects/bsd_rdma_4_9/lib/libc/string/memcpy.3 Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/lib/libc/string/memcpy.3 Wed Nov 15 11:28:11 2017 (r325842) @@ -54,6 +54,11 @@ bytes from string .Fa src to string .Fa dst . +If +.Fa src +and +.Fa dst +overlap, the results are not defined. .Sh RETURN VALUES The .Fn memcpy Modified: projects/bsd_rdma_4_9/lib/libc/string/strcat.3 ============================================================================== --- projects/bsd_rdma_4_9/lib/libc/string/strcat.3 Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/lib/libc/string/strcat.3 Wed Nov 15 11:28:11 2017 (r325842) @@ -62,6 +62,11 @@ then add a terminating The string .Fa s must have sufficient space to hold the result. +If +.Fa s +and +.Fa append +overlap, the results are undefined. .Pp The .Fn strncat @@ -72,6 +77,11 @@ characters from .Fa append , and then adds a terminating .Ql \e0 . +If +.Fa s +and +.Fa append +overlap, the results are undefined. .Sh RETURN VALUES The .Fn strcat Modified: projects/bsd_rdma_4_9/lib/libc/string/strcpy.3 ============================================================================== --- projects/bsd_rdma_4_9/lib/libc/string/strcpy.3 Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/lib/libc/string/strcpy.3 Wed Nov 15 11:28:11 2017 (r325842) @@ -63,6 +63,11 @@ to (including the terminating .Ql \e0 character.) +If +.Fa src +and +.Fa dst +overlap, the results are undefined. .Pp The .Fn stpncpy @@ -89,6 +94,11 @@ Otherwise, is .Em not terminated. +If +.Fa src +and +.Fa dst +overlap, the results are undefined. .Sh RETURN VALUES The .Fn strcpy Modified: projects/bsd_rdma_4_9/lib/libc/sys/_umtx_op.2 ============================================================================== --- projects/bsd_rdma_4_9/lib/libc/sys/_umtx_op.2 Wed Nov 15 11:14:39 2017 (r325841) +++ projects/bsd_rdma_4_9/lib/libc/sys/_umtx_op.2 Wed Nov 15 11:28:11 2017 (r325842) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 23, 2017 +.Dd November 13, 2017 .Dt _UMTX_OP 2 .Os .Sh NAME @@ -61,7 +61,7 @@ All objects require ABI-mandated alignment, but this i enforced consistently on all architectures. .Pp The following flags are defined for flag fields of all structures: -.Bl -tag -width "Dv USYNC_PROCESS_SHARED" +.Bl -tag -width indent .It Dv USYNC_PROCESS_SHARED Allow selection of the process-shared sleep queue for the thread sleep container, when the lock ownership cannot be granted immediately, @@ -77,7 +77,6 @@ See the .Sx SLEEP QUEUES subsection below for more details on sleep queues. .El -.Pp .Bl -hang -offset indent .It Sy Mutex .Bd -literal @@ -96,7 +95,7 @@ It contains either the thread identifier of the lock o locked state, or zero when the lock is unowned. The highest bit set indicates that there is contention on the lock. The constants are defined for special values: -.Bl -tag -width "Dv UMUTEX_RB_OWNERDEAD" +.Bl -tag -width indent .It Dv UMUTEX_UNOWNED Zero, the value stored in the unowned lock. .It Dv UMUTEX_CONTESTED @@ -113,7 +112,7 @@ The .Dv m_flags field may contain the following umutex-specific flags, in addition to the common flags: -.Bl -tag -width "Dv UMUTEX_NONCONSISTENT" +.Bl -tag -width indent .It Dv UMUTEX_PRIO_INHERIT Mutex implements .Em Priority Inheritance @@ -136,8 +135,9 @@ In the manual page, mutexes not having and .Dv UMUTEX_PRIO_PROTECT flags set, are called normal mutexes. -Each type of mutex, i.e. normal mutexes, priority-inherited mutexes, -and priority-protected mutexes, have a separate sleep queue associated +Each type of mutex +.Pq normal, priority-inherited, and priority-protected +has a separate sleep queue associated with the given key. .Pp For priority protected mutexes, the @@ -182,8 +182,8 @@ request. The .Dv c_flags field contains flags. -Only the common flags, i.e. -.Dv USYNC_PROCESS_SHARED , +Only the common flags +.Pq Dv USYNC_PROCESS_SHARED are defined for ucond. .Pp The @@ -193,23 +193,34 @@ member provides the clock identifier to use for timeou request has both the .Dv CVWAIT_CLOCKID flag and the timeout specified. -Valid clock identifiers are subset of the valid clock ids for the -.Xr clock_gettime 2 -syscall, namely, -.Dv CLOCK_REALTIME , -.Dv CLOCK_VIRTUAL , -.Dv CLOCK_PROF , -.Dv CLOCK_MONOTONIC , -.Dv CLOCK_UPTIME , -.Dv CLOCK_UPTIME_PRECISE , -.Dv CLOCK_UPTIME_FAST , -.Dv CLOCK_REALTIME_PRECISE , -.Dv CLOCK_REALTIME_FAST , -.Dv CLOCK_MONOTONIC_PRECISE , -.Dv CLOCK_MONOTONIC_FAST , -and +Valid clock identifiers are a subset of those for +.Xr clock_gettime 2 : +.Bl -bullet -compact +.It +.Dv CLOCK_MONOTONIC +.It +.Dv CLOCK_MONOTONIC_FAST +.It +.Dv CLOCK_MONOTONIC_PRECISE +.It +.Dv CLOCK_PROF +.It +.Dv CLOCK_REALTIME +.It +.Dv CLOCK_REALTIME_FAST +.It +.Dv CLOCK_REALTIME_PRECISE +.It .Dv CLOCK_SECOND -are allowed. +.It +.Dv CLOCK_UPTIME +.It +.Dv CLOCK_UPTIME_FAST +.It +.Dv CLOCK_UPTIME_PRECISE +.It +.Dv CLOCK_VIRTUAL +.El .It Sy Reader/writer lock .Bd -literal struct urwlock { @@ -228,7 +239,7 @@ granted. Names of the .Dv rw_state bits are following: -.Bl -tag -width "Dv URWLOCK_WRITE_WAITERS" +.Bl -tag -width indent .It Dv URWLOCK_WRITE_OWNER Write lock was granted. .It Dv URWLOCK_WRITE_WAITERS @@ -253,7 +264,7 @@ The following flags for the member of .Vt struct urwlock are defined, in addition to the common flags: -.Bl -tag -width "Dv URWLOCK_PREFER_READER" +.Bl -tag -width indent .It Dv URWLOCK_PREFER_READER If specified, immediately grant read lock requests when .Dv urwlock @@ -302,7 +313,7 @@ The .Dv USEM_COUNT() macro, applied to the .Dv _count -word, returns the current semaphore counter, i.e. the number of posts +word, returns the current semaphore counter, which is the number of posts issued on the semaphore. .Pp The following bits for the @@ -310,7 +321,7 @@ The following bits for the member of .Vt struct _usem2 are defined, in addition to the common flags: -.Bl -tag -width "Dv USEM_NAMED" +.Bl -tag -width indent .It Dv USEM_NAMED Flag is ignored by kernel. .El @@ -359,7 +370,7 @@ Interval counting is always performed by the monotonic The .Dv _flags argument allows the following flags to further define the timeout behaviour: -.Bl -tag -width "It Dv UMTX_ABSTIME" +.Bl -tag -width indent .It Dv UMTX_ABSTIME The .Dv _timeout @@ -374,7 +385,6 @@ start. .El .El .Ss SLEEP QUEUES -.Pp When a locking request cannot be immediately satisfied, the thread is typically put to .Em sleep , @@ -416,7 +426,7 @@ regardless of the kind of backing memory. .Pp Only the address of the start byte of the variable specified as key is important for determining corresponding sleep queue. -The size of the variable does not matter, so e.g. sleep on the same +The size of the variable does not matter, so, for example, sleep on the same address interpeted as .Vt uint32_t and @@ -505,11 +515,11 @@ error for lock attempts, without granting the lock. The following operations, requested by the .Fa op argument to the function, are implemented: -.Bl -tag -width "It Dv UMTX_OP_WAIT_UINT_PRIVATE" +.Bl -tag -width indent .It Dv UMTX_OP_WAIT Wait. The arguments for the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to a variable of type .Vt long . @@ -558,7 +568,7 @@ Optionally, a timeout for the request may be specified Wake the threads possibly sleeping due to .Dv UMTX_OP_WAIT . The arguments for the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to a variable, used as a key to find sleeping threads. .It Fa val @@ -572,7 +582,7 @@ to wake up all waiters. .It Dv UMTX_OP_MUTEX_TRYLOCK Try to lock umutex. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to the umutex. .El @@ -585,7 +595,7 @@ instead of sleeping if the lock cannot be obtained imm .It Dv UMTX_OP_MUTEX_LOCK Lock umutex. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to the umutex. .El @@ -624,7 +634,7 @@ from a signal handler. .It Dv UMTX_OP_MUTEX_UNLOCK Unlock umutex. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to the umutex. .El @@ -661,7 +671,7 @@ priority protected protocol mutex. .It Dv UMTX_OP_SET_CEILING Set ceiling for the priority protected umutex. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "uaddr" .It Fa obj Pointer to the umutex. .It Fa val @@ -696,7 +706,7 @@ interface. .It Dv UMTX_OP_CV_WAIT Wait for a condition. The arguments to the request are: -.Bl -tag -width "It Fa uaddr2" +.Bl -tag -width "uaddr2" .It Fa obj Pointer to the .Vt struct ucond . @@ -743,7 +753,7 @@ After wakeup, the umutex is not relocked. .Pp The following flags are defined: -.Bl -tag -width "Dv CVWAIT_CLOCKID" +.Bl -tag -width "CVWAIT_CLOCKID" .It Dv CVWAIT_ABSTIME Timeout is absolute. .It Dv CVWAIT_CLOCKID @@ -782,7 +792,7 @@ error. .It Dv UMTX_OP_CV_SIGNAL Wake up one condition waiter. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to .Vt struct ucond . @@ -800,7 +810,7 @@ is cleared. .It Dv UMTX_OP_CV_BROADCAST Wake up all condition waiters. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to .Vt struct ucond . @@ -820,14 +830,14 @@ Same as but the type of the variable pointed to by .Fa obj is -.Vt u_int , -i.e. 32-bit integer. +.Vt u_int +.Pq a 32-bit integer . .It Dv UMTX_OP_RW_RDLOCK Read-lock a .Vt struct rwlock lock. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to the lock (of type .Vt struct rwlock ) @@ -837,7 +847,7 @@ Additional flags to augment locking behaviour. The valid flags in the .Fa val argument are: -.Bl -tag -width "It Dv URWLOCK_PREFER_READER" +.Bl -tag -width indent .It Dv URWLOCK_PREFER_READER .El .El @@ -889,7 +899,7 @@ Write-lock a .Vt struct rwlock lock. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to the lock (of type .Vt struct rwlock ) @@ -925,7 +935,7 @@ error. .It Dv UMTX_OP_RW_UNLOCK Unlock rwlock. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to the lock (of type .Vt struct rwlock ) @@ -967,7 +977,7 @@ but unconditionally select the process-private sleep q .It Dv UMTX_OP_MUTEX_WAIT Wait for mutex availability. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Address of the mutex. .El @@ -991,7 +1001,6 @@ priority inherited protocol mutexes. .Pp Optionally, a timeout for the request may be specified. .Pp -.Pp A request with a timeout specified is not restartable. An unblocked signal delivered during the wait always results in sleep interruption and @@ -1007,7 +1016,7 @@ member .It Dv UMTX_OP_NWAKE_PRIVATE Wake up a batch of sleeping threads. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to the array of pointers. .It Fa val @@ -1024,7 +1033,7 @@ being the byte addressed by the array element. .It Dv UMTX_OP_MUTEX_WAKE Check if a normal umutex is unlocked and wake up a waiter. The arguments for the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to the umutex. .El @@ -1058,7 +1067,7 @@ bit may then modify freed memory. .It Dv UMTX_OP_MUTEX_WAKE2 Check if a umutex is unlocked and wake up a waiter. The arguments for the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to the umutex. .It Fa val @@ -1088,11 +1097,12 @@ word of the .It Dv UMTX_OP_SEM2_WAIT Wait until semaphore is available. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to the semaphore (of type .Vt struct _usem2 ) . .El +.Pp Put the requesting thread onto a sleep queue if the semaphore counter is zero. If the thread is put to sleep, the @@ -1117,7 +1127,7 @@ error. .It Dv UMTX_OP_SEM2_WAKE Wake up waiters on semaphore lock. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "obj" .It Fa obj Pointer to the semaphore (of type .Vt struct _usem2 ) . @@ -1145,7 +1155,7 @@ The argument specifies the sub-request of the .Dv UMTX_OP_SHM request: -.Bl -tag -width "Dv UMTX_SHM_DESTROY" +.Bl -tag -width indent .It Dv UMTX_SHM_CREAT Creates the anonymous shared memory object, which can be looked up with the specified key @@ -1191,7 +1201,7 @@ creation or lookup. .It Dv UMTX_OP_ROBUST_LISTS Register the list heads for the current thread's robust mutex lists. The arguments to the request are: -.Bl -tag -width "It Fa obj" +.Bl -tag -width "uaddr" .It Fa val Size of the structure passed in the .Fa uaddr @@ -1261,8 +1271,8 @@ variable is set to indicate the error. .Sh ERRORS The .Fn _umtx_op -operations will return the following errors: -.Bl -tag -width "Bq Er ENOTRECOVERABLE" +operations can fail with the following errors: +.Bl -tag -width "[ETIMEDOUT]" .It Bq Er EFAULT One of the arguments point to invalid memory. .It Bq Er EINVAL Modified: projects/bsd_rdma_4_9/lib/libcasper/libcasper/libcasper.h ============================================================================== --- projects/bsd_rdma_4_9/lib/libcasper/libcasper/libcasper.h Wed Nov 15 11:14:39 2017 (r325841) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Wed Nov 15 11:35:04 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 08150DDA080 for ; Wed, 15 Nov 2017 11:35:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D0923674A6; Wed, 15 Nov 2017 11:35:03 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAFBZ2Ic023183; Wed, 15 Nov 2017 11:35:02 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAFBZ2vv023182; Wed, 15 Nov 2017 11:35:02 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711151135.vAFBZ2vv023182@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 15 Nov 2017 11:35:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325843 - projects/bsd_rdma_4_9/sys/contrib/rdma/krping X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: projects/bsd_rdma_4_9/sys/contrib/rdma/krping X-SVN-Commit-Revision: 325843 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Nov 2017 11:35:04 -0000 Author: hselasky Date: Wed Nov 15 11:35:02 2017 New Revision: 325843 URL: https://svnweb.freebsd.org/changeset/base/325843 Log: Add full support for specifying IPv6 addresses to krping. Sponsored by: Mellanox Technologies Modified: projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c Modified: projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c ============================================================================== --- projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c Wed Nov 15 11:28:11 2017 (r325842) +++ projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c Wed Nov 15 11:35:02 2017 (r325843) @@ -219,7 +219,7 @@ struct krping_cb { struct krping_stats stats; uint16_t port; /* dst port in NBO */ - u8 addr[16]; /* dst addr in NBO */ + u8 addr[16] __aligned(8); /* dst addr in NBO */ char *addr_str; /* dst addr string */ uint8_t addr_type; /* ADDR_FAMILY - IPv4/V6 */ int verbose; /* verbose logging */ @@ -1961,12 +1961,31 @@ err1: krping_free_qp(cb); } +static uint16_t +krping_get_ipv6_scope_id(char *name) +{ + struct ifnet *ifp; + uint16_t retval; + + if (name == NULL) + return (0); + CURVNET_SET_QUIET(TD_TO_VNET(curthread)); + ifp = ifunit_ref(name); + CURVNET_RESTORE(); + if (ifp == NULL) + return (0); + retval = ifp->if_index; + if_rele(ifp); + return (retval); +} + int krping_doit(char *cmd) { struct krping_cb *cb; int op; int ret = 0; char *optarg; + char *scope; unsigned long optint; cb = kzalloc(sizeof(*cb), GFP_KERNEL); @@ -1986,23 +2005,36 @@ int krping_doit(char *cmd) while ((op = krping_getopt("krping", &cmd, krping_opts, NULL, &optarg, &optint)) != 0) { switch (op) { - struct in_addr in_addr; case 'a': cb->addr_str = optarg; cb->addr_type = AF_INET; DEBUG_LOG("ipaddr (%s)\n", optarg); - if (!inet_aton(optarg, &in_addr)) { + if (inet_pton(AF_INET, optarg, cb->addr) != 1) { printk(KERN_ERR PFX "bad addr string %s\n", optarg); ret = EINVAL; } - memcpy(cb->addr, &in_addr.s_addr, sizeof(in_addr.s_addr)); break; case 'A': cb->addr_str = optarg; cb->addr_type = AF_INET6; DEBUG_LOG("ipv6addr (%s)\n", optarg); - ret = EAFNOSUPPORT; /* XXX not supported */ + scope = strstr(optarg, "%"); + /* extract scope ID, if any */ + if (scope != NULL) + *scope++ = 0; + /* extract IPv6 network address */ + if (inet_pton(AF_INET6, optarg, cb->addr) != 1) { + printk(KERN_ERR PFX "bad addr string %s\n", + optarg); + ret = EINVAL; + } else if (IN6_IS_SCOPE_LINKLOCAL((struct in6_addr *)cb->addr) || + IN6_IS_ADDR_MC_INTFACELOCAL((struct in6_addr *)cb->addr)) { + uint16_t scope_id = krping_get_ipv6_scope_id(scope); + DEBUG_LOG("ipv6 scope ID = %d\n", scope_id); + cb->addr[2] = scope_id >> 8; + cb->addr[3] = scope_id & 0xFF; + } break; case 'p': cb->port = htons(optint); From owner-svn-src-projects@freebsd.org Thu Nov 16 13:28:02 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 100FEDDDE0F for ; Thu, 16 Nov 2017 13:28:02 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A59377AE1C; Thu, 16 Nov 2017 13:28:01 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAGDS0gQ014037; Thu, 16 Nov 2017 13:28:00 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAGDS0sC014032; Thu, 16 Nov 2017 13:28:00 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711161328.vAGDS0sC014032@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 16 Nov 2017 13:28:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325891 - in projects/bsd_rdma_4_9/sys: dev/iser modules/iser X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in projects/bsd_rdma_4_9/sys: dev/iser modules/iser X-SVN-Commit-Revision: 325891 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Nov 2017 13:28:02 -0000 Author: hselasky Date: Thu Nov 16 13:28:00 2017 New Revision: 325891 URL: https://svnweb.freebsd.org/changeset/base/325891 Log: Update iser backend code to use new ibcore APIs. Sponsored by: Mellanox Technologies Modified: projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.c projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.h projects/bsd_rdma_4_9/sys/dev/iser/iser_memory.c projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c projects/bsd_rdma_4_9/sys/modules/iser/Makefile Modified: projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.c ============================================================================== --- projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.c Thu Nov 16 12:51:39 2017 (r325890) +++ projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.c Thu Nov 16 13:28:00 2017 (r325891) @@ -395,7 +395,7 @@ iser_conn_connect(struct icl_conn *ic, int domain, int iser_conn->state = ISER_CONN_PENDING; - ib_conn->cma_id = rdma_create_id(iser_cma_handler, (void *)iser_conn, + ib_conn->cma_id = rdma_create_id(&init_net, iser_cma_handler, (void *)iser_conn, RDMA_PS_TCP, IB_QPT_RC); if (IS_ERR(ib_conn->cma_id)) { err = -PTR_ERR(ib_conn->cma_id); Modified: projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.h ============================================================================== --- projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.h Thu Nov 16 12:51:39 2017 (r325890) +++ projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.h Thu Nov 16 13:28:00 2017 (r325891) @@ -245,7 +245,7 @@ enum iser_desc_type { struct iser_data_buf { struct scatterlist sgl[ISCSI_ISER_SG_TABLESIZE]; void *sg; - unsigned int size; + int size; unsigned long data_len; unsigned int dma_nents; char *copy_buf; @@ -364,12 +364,10 @@ struct iser_device { * struct iser_reg_resources - Fast registration recources * * @mr: memory region - * @frpl: fast reg page list * @mr_valid: is mr valid indicator */ struct iser_reg_resources { struct ib_mr *mr; - struct ib_fast_reg_page_list *frpl; u8 mr_valid:1; }; Modified: projects/bsd_rdma_4_9/sys/dev/iser/iser_memory.c ============================================================================== --- projects/bsd_rdma_4_9/sys/dev/iser/iser_memory.c Thu Nov 16 12:51:39 2017 (r325890) +++ projects/bsd_rdma_4_9/sys/dev/iser/iser_memory.c Thu Nov 16 13:28:00 2017 (r325891) @@ -52,64 +52,6 @@ iser_reg_desc_put(struct ib_conn *ib_conn, #define IS_4K_ALIGNED(addr) ((((unsigned long)addr) & ~MASK_4K) == 0) /** - * iser_sg_to_page_vec - Translates scatterlist entries to physical addresses - * and returns the length of resulting physical address array (may be less than - * the original due to possible compaction). - * - * we build a "page vec" under the assumption that the SG meets the RDMA - * alignment requirements. Other then the first and last SG elements, all - * the "internal" elements can be compacted into a list whose elements are - * dma addresses of physical pages. The code supports also the weird case - * where --few fragments of the same page-- are present in the SG as - * consecutive elements. Also, it handles one entry SG. - */ -static int -iser_sg_to_page_vec(struct iser_data_buf *data, - struct ib_device *ibdev, u64 *pages, - int *offset, int *data_size) -{ - struct scatterlist *sg, *sgl = data->sgl; - u64 start_addr, end_addr, page, chunk_start = 0; - unsigned long total_sz = 0; - unsigned int dma_len; - int i, new_chunk, cur_page, last_ent = data->dma_nents - 1; - - /* compute the offset of first element */ - *offset = (u64) sgl[0].offset & ~MASK_4K; - - new_chunk = 1; - cur_page = 0; - for_each_sg(sgl, sg, data->dma_nents, i) { - start_addr = ib_sg_dma_address(ibdev, sg); - if (new_chunk) - chunk_start = start_addr; - dma_len = ib_sg_dma_len(ibdev, sg); - end_addr = start_addr + dma_len; - total_sz += dma_len; - - /* collect page fragments until aligned or end of SG list */ - if (!IS_4K_ALIGNED(end_addr) && i < last_ent) { - new_chunk = 0; - continue; - } - new_chunk = 1; - - /* address of the first page in the contiguous chunk; - masking relevant for the very first SG entry, - which might be unaligned */ - page = chunk_start & MASK_4K; - do { - pages[cur_page++] = page; - page += SIZE_4K; - } while (page < end_addr); - } - - *data_size = total_sz; - - return (cur_page); -} - -/** * iser_data_buf_aligned_len - Tries to determine the maximal correctly aligned * for RDMA sub-list of a scatter-gather list of memory buffers, and returns * the number of entries which are aligned correctly. Supports the case where @@ -214,46 +156,41 @@ iser_fast_reg_mr(struct icl_iser_pdu *iser_pdu, { struct ib_conn *ib_conn = &iser_pdu->iser_conn->ib_conn; struct iser_device *device = ib_conn->device; - struct ib_send_wr fastreg_wr, inv_wr; + struct ib_mr *mr = rsc->mr; + struct ib_reg_wr fastreg_wr; + struct ib_send_wr inv_wr; struct ib_send_wr *bad_wr, *wr = NULL; - int ret, offset, size, plen; + int ret, n; /* if there a single dma entry, dma mr suffices */ if (mem->dma_nents == 1) return iser_reg_dma(device, mem, reg); - /* rsc is not null */ - plen = iser_sg_to_page_vec(mem, device->ib_device, - rsc->frpl->page_list, - &offset, &size); - if (plen * SIZE_4K < size) { - ISER_ERR("fast reg page_list too short to hold this SG"); - return (EINVAL); - } - if (!rsc->mr_valid) { - iser_inv_rkey(&inv_wr, rsc->mr); + iser_inv_rkey(&inv_wr, mr); wr = &inv_wr; } + n = ib_map_mr_sg(mr, mem->sg, mem->size, NULL, SIZE_4K); + if (unlikely(n != mem->size)) { + ISER_ERR("failed to map sg (%d/%d)\n", n, mem->size); + return n < 0 ? n : -EINVAL; + } /* Prepare FASTREG WR */ memset(&fastreg_wr, 0, sizeof(fastreg_wr)); - fastreg_wr.wr_id = ISER_FASTREG_LI_WRID; - fastreg_wr.opcode = IB_WR_FAST_REG_MR; - fastreg_wr.wr.fast_reg.iova_start = rsc->frpl->page_list[0] + offset; - fastreg_wr.wr.fast_reg.page_list = rsc->frpl; - fastreg_wr.wr.fast_reg.page_list_len = plen; - fastreg_wr.wr.fast_reg.page_shift = SHIFT_4K; - fastreg_wr.wr.fast_reg.length = size; - fastreg_wr.wr.fast_reg.rkey = rsc->mr->rkey; - fastreg_wr.wr.fast_reg.access_flags = (IB_ACCESS_LOCAL_WRITE | - IB_ACCESS_REMOTE_WRITE | - IB_ACCESS_REMOTE_READ); + fastreg_wr.wr.opcode = IB_WR_REG_MR; + fastreg_wr.wr.wr_id = ISER_FASTREG_LI_WRID; + fastreg_wr.wr.num_sge = 0; + fastreg_wr.mr = mr; + fastreg_wr.key = mr->rkey; + fastreg_wr.access = IB_ACCESS_LOCAL_WRITE | + IB_ACCESS_REMOTE_WRITE | + IB_ACCESS_REMOTE_READ; if (!wr) - wr = &fastreg_wr; + wr = &fastreg_wr.wr; else - wr->next = &fastreg_wr; + wr->next = &fastreg_wr.wr; ret = ib_post_send(ib_conn->qp, wr, &bad_wr); if (ret) { @@ -262,10 +199,10 @@ iser_fast_reg_mr(struct icl_iser_pdu *iser_pdu, } rsc->mr_valid = 0; - reg->sge.lkey = rsc->mr->lkey; - reg->rkey = rsc->mr->rkey; - reg->sge.addr = rsc->frpl->page_list[0] + offset; - reg->sge.length = size; + reg->sge.lkey = mr->lkey; + reg->rkey = mr->rkey; + reg->sge.addr = mr->iova; + reg->sge.length = mr->length; return (ret); } Modified: projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c ============================================================================== --- projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c Thu Nov 16 12:51:39 2017 (r325890) +++ projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c Thu Nov 16 13:28:00 2017 (r325891) @@ -200,16 +200,10 @@ iser_cq_callback(struct ib_cq *cq, void *cq_context) static int iser_create_device_ib_res(struct iser_device *device) { - struct ib_device_attr *dev_attr = &device->dev_attr; - int ret, i, max_cqe; + struct ib_device *ib_dev = device->ib_device; + int i, max_cqe; - ret = ib_query_device(device->ib_device, dev_attr); - if (ret) { - ISER_ERR("Query device failed for %s", device->ib_device->name); - return (ret); - } - - if (!(dev_attr->device_cap_flags & IB_DEVICE_MEM_MGT_EXTENSIONS)) { + if (!(ib_dev->attrs.device_cap_flags & IB_DEVICE_MEM_MGT_EXTENSIONS)) { ISER_ERR("device %s doesn't support Fastreg, " "can't register memory", device->ib_device->name); return (1); @@ -222,25 +216,29 @@ iser_create_device_ib_res(struct iser_device *device) if (!device->comps) goto comps_err; - max_cqe = min(ISER_MAX_CQ_LEN, dev_attr->max_cqe); + max_cqe = min(ISER_MAX_CQ_LEN, ib_dev->attrs.max_cqe); ISER_DBG("using %d CQs, device %s supports %d vectors max_cqe %d", device->comps_used, device->ib_device->name, device->ib_device->num_comp_vectors, max_cqe); - device->pd = ib_alloc_pd(device->ib_device); + device->pd = ib_alloc_pd(device->ib_device, IB_PD_UNSAFE_GLOBAL_RKEY); if (IS_ERR(device->pd)) goto pd_err; for (i = 0; i < device->comps_used; i++) { struct iser_comp *comp = &device->comps[i]; + struct ib_cq_init_attr cq_attr = { + .cqe = max_cqe, + .comp_vector = i, + }; comp->device = device; comp->cq = ib_create_cq(device->ib_device, iser_cq_callback, iser_cq_event_callback, (void *)comp, - max_cqe, i); + &cq_attr); if (IS_ERR(comp->cq)) { comp->cq = NULL; goto cq_err; @@ -257,9 +255,7 @@ iser_create_device_ib_res(struct iser_device *device) taskqueue_start_threads(&comp->tq, 1, PI_NET, "iser taskq"); } - device->mr = ib_get_dma_mr(device->pd, IB_ACCESS_LOCAL_WRITE | - IB_ACCESS_REMOTE_WRITE | - IB_ACCESS_REMOTE_READ); + device->mr = device->pd->__internal_mr; if (IS_ERR(device->mr)) goto tq_err; @@ -327,35 +323,21 @@ iser_alloc_reg_res(struct ib_device *ib_device, { int ret; - res->frpl = ib_alloc_fast_reg_page_list(ib_device, - ISCSI_ISER_SG_TABLESIZE + 1); - if (IS_ERR(res->frpl)) { - ret = -PTR_ERR(res->frpl); - ISER_ERR("Failed to allocate fast reg page list err=%d", ret); - return (ret); - } - - res->mr = ib_alloc_fast_reg_mr(pd, ISCSI_ISER_SG_TABLESIZE + 1); + res->mr = ib_alloc_mr(pd, IB_MR_TYPE_MEM_REG, ISCSI_ISER_SG_TABLESIZE + 1); if (IS_ERR(res->mr)) { ret = -PTR_ERR(res->mr); ISER_ERR("Failed to allocate fast reg mr err=%d", ret); - goto fast_reg_mr_failure; + return (ret); } res->mr_valid = 1; return (0); - -fast_reg_mr_failure: - ib_free_fast_reg_page_list(res->frpl); - - return (ret); } static void iser_free_reg_res(struct iser_reg_resources *rsc) { ib_dereg_mr(rsc->mr); - ib_free_fast_reg_page_list(rsc->frpl); } static struct fast_reg_descriptor * Modified: projects/bsd_rdma_4_9/sys/modules/iser/Makefile ============================================================================== --- projects/bsd_rdma_4_9/sys/modules/iser/Makefile Thu Nov 16 12:51:39 2017 (r325890) +++ projects/bsd_rdma_4_9/sys/modules/iser/Makefile Thu Nov 16 13:28:00 2017 (r325891) @@ -20,6 +20,7 @@ SRCS+= icl_conn_if.h CFLAGS+= -I${SRCTOP}/sys/ CFLAGS+= -I${SYSDIR}/ofed/include +CFLAGS+= -I${SYSDIR}/ofed/include/uapi CFLAGS+= -I${SYSDIR}/compat/linuxkpi/common/include CFLAGS+= -DCONFIG_INFINIBAND_USER_MEM CFLAGS+= -DINET6 -DINET From owner-svn-src-projects@freebsd.org Thu Nov 16 15:13:30 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 55D1CDE0888 for ; Thu, 16 Nov 2017 15:13:30 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0510C7E218; Thu, 16 Nov 2017 15:13:29 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAGFDT8v060236; Thu, 16 Nov 2017 15:13:29 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAGFDThx060235; Thu, 16 Nov 2017 15:13:29 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711161513.vAGFDThx060235@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 16 Nov 2017 15:13:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325894 - projects/bsd_rdma_4_9 X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: projects/bsd_rdma_4_9 X-SVN-Commit-Revision: 325894 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Nov 2017 15:13:30 -0000 Author: hselasky Date: Thu Nov 16 15:13:28 2017 New Revision: 325894 URL: https://svnweb.freebsd.org/changeset/base/325894 Log: Update list of hardcoded OFED build order dependencies for the buildworld target. Sponsored by: Mellanox Technologies Modified: projects/bsd_rdma_4_9/Makefile.inc1 Modified: projects/bsd_rdma_4_9/Makefile.inc1 ============================================================================== --- projects/bsd_rdma_4_9/Makefile.inc1 Thu Nov 16 14:37:18 2017 (r325893) +++ projects/bsd_rdma_4_9/Makefile.inc1 Thu Nov 16 15:13:28 2017 (r325894) @@ -2410,16 +2410,33 @@ _lib_libradius= lib/libradius .endif .if ${MK_OFED} != "no" -_ofed_lib= contrib/ofed/usr.lib -_prebuild_libs+= contrib/ofed/usr.lib/libosmcomp -_prebuild_libs+= contrib/ofed/usr.lib/libopensm -_prebuild_libs+= contrib/ofed/usr.lib/libibcommon -_prebuild_libs+= contrib/ofed/usr.lib/libibverbs -_prebuild_libs+= contrib/ofed/usr.lib/libibumad +_ofed_lib= \ +contrib/ofed/include \ +contrib/ofed/libcxgb4 \ +contrib/ofed/libibcm \ +contrib/ofed/libibmad \ +contrib/ofed/libibnetdisc \ +contrib/ofed/libibumad \ +contrib/ofed/libibverbs \ +contrib/ofed/libmlx4 \ +contrib/ofed/libmlx5 \ +contrib/ofed/librdmacm \ +contrib/ofed/opensm/complib \ +contrib/ofed/opensm/libopensm \ +contrib/ofed/opensm/libvendor -contrib/ofed/usr.lib/libopensm__L: lib/libthr__L -contrib/ofed/usr.lib/libosmcomp__L: lib/libthr__L -contrib/ofed/usr.lib/libibumad__L: contrib/ofed/usr.lib/libibcommon__L +contrib/ofed/libcxgb4__L: contrib/ofed/libibverbs__L lib/libthr__L contrib/ofed/include__L +contrib/ofed/libibcm__L: contrib/ofed/libibverbs__L contrib/ofed/include__L +contrib/ofed/libibmad__L: contrib/ofed/libibumad__L contrib/ofed/include__L +contrib/ofed/libibnetdisc__L: contrib/ofed/opensm/complib__L contrib/ofed/libibmad__L contrib/ofed/libibumad__L contrib/ofed/include__L +contrib/ofed/libibumad__L: contrib/ofed/include__L +contrib/ofed/libibverbs__L: contrib/ofed/include__L +contrib/ofed/libmlx4__L: contrib/ofed/libibverbs__L lib/libthr__L contrib/ofed/include__L +contrib/ofed/libmlx5__L: contrib/ofed/libibverbs__L lib/libthr__L contrib/ofed/include__L +contrib/ofed/librdmacm__L: contrib/ofed/libibverbs__L contrib/ofed/include__L +contrib/ofed/opensm/complib__L: lib/libthr__L contrib/ofed/include__L +contrib/ofed/opensm/libopensm__L: lib/libthr__L contrib/ofed/include__L +contrib/ofed/opensm/libvendor__L: contrib/ofed/libibumad__L lib/libthr__L contrib/ofed/include__L .endif .if ${MK_CASPER} != "no" From owner-svn-src-projects@freebsd.org Thu Nov 16 15:16:55 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B0AFDE0A22 for ; Thu, 16 Nov 2017 15:16:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 152C87E39A; Thu, 16 Nov 2017 15:16:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAGFGsAC060393; Thu, 16 Nov 2017 15:16:54 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAGFGspX060392; Thu, 16 Nov 2017 15:16:54 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711161516.vAGFGspX060392@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 16 Nov 2017 15:16:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325895 - projects/bsd_rdma_4_9/contrib/ofed/include X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: projects/bsd_rdma_4_9/contrib/ofed/include X-SVN-Commit-Revision: 325895 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Nov 2017 15:16:55 -0000 Author: hselasky Date: Thu Nov 16 15:16:53 2017 New Revision: 325895 URL: https://svnweb.freebsd.org/changeset/base/325895 Log: Remove conflicting uint definition. Already defined by sys/types.h Sponsored by: Mellanox Technologies Modified: projects/bsd_rdma_4_9/contrib/ofed/include/types.h Modified: projects/bsd_rdma_4_9/contrib/ofed/include/types.h ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/include/types.h Thu Nov 16 15:13:28 2017 (r325894) +++ projects/bsd_rdma_4_9/contrib/ofed/include/types.h Thu Nov 16 15:16:53 2017 (r325895) @@ -58,6 +58,4 @@ typedef uint32_t __be32; typedef uint64_t __le64; typedef uint64_t __be64; -typedef unsigned int uint; - #endif /* _INFINIBAND_TYPES_H_ */ From owner-svn-src-projects@freebsd.org Thu Nov 16 15:18:38 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4D567DE0A56 for ; Thu, 16 Nov 2017 15:18:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 254FA7E499; Thu, 16 Nov 2017 15:18:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAGFIbbR060492; Thu, 16 Nov 2017 15:18:37 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAGFIbeq060489; Thu, 16 Nov 2017 15:18:37 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711161518.vAGFIbeq060489@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 16 Nov 2017 15:18:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325896 - in projects/bsd_rdma_4_9/contrib/ofed: include libibumad X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in projects/bsd_rdma_4_9/contrib/ofed: include libibumad X-SVN-Commit-Revision: 325896 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Nov 2017 15:18:38 -0000 Author: hselasky Date: Thu Nov 16 15:18:36 2017 New Revision: 325896 URL: https://svnweb.freebsd.org/changeset/base/325896 Log: Fix compilation for libsysdecode. Don't install the ib_user_mad.h header file into user-space, because it conflicts with umad.h from libibumad.h when building libsysdecode. Sponsored by: Mellanox Technologies Modified: projects/bsd_rdma_4_9/contrib/ofed/include/Makefile projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.c projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.h Modified: projects/bsd_rdma_4_9/contrib/ofed/include/Makefile ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/include/Makefile Thu Nov 16 15:16:53 2017 (r325895) +++ projects/bsd_rdma_4_9/contrib/ofed/include/Makefile Thu Nov 16 15:18:36 2017 (r325896) @@ -44,7 +44,6 @@ ${RDMACM}/rdma_cma_abi.h \ ${RDMACM}/rdma_verbs.h \ ${RDMACM}/rsocket.h \ ${RDMA}/ib_user_cm.h \ -${RDMA}/ib_user_mad.h \ ${RDMA}/ib_user_sa.h \ ${RDMA}/ib_user_verbs.h \ ${RDMA}/rdma_user_cm.h \ Modified: projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.c ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.c Thu Nov 16 15:16:53 2017 (r325895) +++ projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.c Thu Nov 16 15:18:36 2017 (r325896) @@ -46,6 +46,7 @@ #include #include #include +#include #include @@ -63,6 +64,9 @@ typedef struct ib_user_mad_reg_req { uint8_t rmpp_version; } ib_user_mad_reg_req_t; +static_assert(sizeof(struct ib_user_mad_reg_req) == IOCPARM_LEN(IB_USER_MAD_REGISTER_AGENT), + "Invalid structure size"); + struct ib_user_mad_reg_req2 { uint32_t id; uint32_t qpn; @@ -75,6 +79,9 @@ struct ib_user_mad_reg_req2 { uint8_t rmpp_version; uint8_t reserved[3]; }; + +static_assert(sizeof(struct ib_user_mad_reg_req2) == IOCPARM_LEN(IB_USER_MAD_REGISTER_AGENT2), + "Invalid structure size"); #define IBWARN(fmt, args...) fprintf(stderr, "ibwarn: [%d] %s: " fmt "\n", getpid(), __func__, ## args) Modified: projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.h ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.h Thu Nov 16 15:16:53 2017 (r325895) +++ projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.h Thu Nov 16 15:18:36 2017 (r325896) @@ -111,12 +111,12 @@ typedef struct ib_user_mad { #define IB_IOCTL_MAGIC 0x1b -#define IB_USER_MAD_REGISTER_AGENT _IOWR(IB_IOCTL_MAGIC, 1, \ - struct ib_user_mad_reg_req) +#define IB_USER_MAD_REGISTER_AGENT \ + _IOWR(IB_IOCTL_MAGIC, 1, uint8_t [28] /* struct ib_user_mad_reg_req */) #define IB_USER_MAD_UNREGISTER_AGENT _IOW(IB_IOCTL_MAGIC, 2, uint32_t) #define IB_USER_MAD_ENABLE_PKEY _IO(IB_IOCTL_MAGIC, 3) -#define IB_USER_MAD_REGISTER_AGENT2 _IOWR(IB_IOCTL_MAGIC, 4, \ - struct ib_user_mad_reg_req2) +#define IB_USER_MAD_REGISTER_AGENT2 \ + _IOWR(IB_IOCTL_MAGIC, 4, uint8_t [40] /* struct ib_user_mad_reg_req2 */) #define UMAD_CA_NAME_LEN 20 #define UMAD_CA_MAX_PORTS 10 /* 0 - 9 */ From owner-svn-src-projects@freebsd.org Thu Nov 16 16:56:41 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A1DF9DE2E26 for ; Thu, 16 Nov 2017 16:56:41 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 738C618C8; Thu, 16 Nov 2017 16:56:41 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (unknown [127.0.1.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 897F94D0C; Thu, 16 Nov 2017 16:56:40 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 760F322B1; Thu, 16 Nov 2017 16:56:39 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id CXs2MFcJ05gg; Thu, 16 Nov 2017 16:56:36 +0000 (UTC) Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9 DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 50C7122AC To: Hans Petter Selasky , src-committers@freebsd.org, svn-src-projects@freebsd.org References: <201711161513.vAGFDThx060235@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: Date: Thu, 16 Nov 2017 08:56:22 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <201711161513.vAGFDThx060235@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="dFiqTsRV5R13CqOuqpq5ibB9BMr6U9Re3" X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Nov 2017 16:56:41 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --dFiqTsRV5R13CqOuqpq5ibB9BMr6U9Re3 Content-Type: multipart/mixed; boundary="dJq4P30mqlfkK6aGe015IRAkmqUViwOwb"; protected-headers="v1" From: Bryan Drewery To: Hans Petter Selasky , src-committers@freebsd.org, svn-src-projects@freebsd.org Message-ID: Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9 References: <201711161513.vAGFDThx060235@repo.freebsd.org> In-Reply-To: <201711161513.vAGFDThx060235@repo.freebsd.org> --dJq4P30mqlfkK6aGe015IRAkmqUViwOwb Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 11/16/2017 7:13 AM, Hans Petter Selasky wrote: > Author: hselasky > Date: Thu Nov 16 15:13:28 2017 > New Revision: 325894 > URL: https://svnweb.freebsd.org/changeset/base/325894 >=20 > Log: > Update list of hardcoded OFED build order dependencies for > the buildworld target. > =20 > Sponsored by: Mellanox Technologies >=20 > Modified: > projects/bsd_rdma_4_9/Makefile.inc1 >=20 > Modified: projects/bsd_rdma_4_9/Makefile.inc1 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- projects/bsd_rdma_4_9/Makefile.inc1 Thu Nov 16 14:37:18 2017 (r3258= 93) > +++ projects/bsd_rdma_4_9/Makefile.inc1 Thu Nov 16 15:13:28 2017 (r3258= 94) > @@ -2410,16 +2410,33 @@ _lib_libradius=3D lib/libradius > .endif > =20 > .if ${MK_OFED} !=3D "no" > -_ofed_lib=3D contrib/ofed/usr.lib > -_prebuild_libs+=3D contrib/ofed/usr.lib/libosmcomp > -_prebuild_libs+=3D contrib/ofed/usr.lib/libopensm > -_prebuild_libs+=3D contrib/ofed/usr.lib/libibcommon > -_prebuild_libs+=3D contrib/ofed/usr.lib/libibverbs > -_prebuild_libs+=3D contrib/ofed/usr.lib/libibumad > +_ofed_lib=3D \ > +contrib/ofed/include \ > +contrib/ofed/libcxgb4 \ > +contrib/ofed/libibcm \ > +contrib/ofed/libibmad \ > +contrib/ofed/libibnetdisc \ > +contrib/ofed/libibumad \ > +contrib/ofed/libibverbs \ > +contrib/ofed/libmlx4 \ > +contrib/ofed/libmlx5 \ > +contrib/ofed/librdmacm \ > +contrib/ofed/opensm/complib \ > +contrib/ofed/opensm/libopensm \ > +contrib/ofed/opensm/libvendor > =20 > -contrib/ofed/usr.lib/libopensm__L: lib/libthr__L > -contrib/ofed/usr.lib/libosmcomp__L: lib/libthr__L > -contrib/ofed/usr.lib/libibumad__L: contrib/ofed/usr.lib/libibcommon__L= > +contrib/ofed/libcxgb4__L: contrib/ofed/libibverbs__L lib/libthr__L con= trib/ofed/include__L > +contrib/ofed/libibcm__L: contrib/ofed/libibverbs__L contrib/ofed/inclu= de__L > +contrib/ofed/libibmad__L: contrib/ofed/libibumad__L contrib/ofed/inclu= de__L > +contrib/ofed/libibnetdisc__L: contrib/ofed/opensm/complib__L contrib/o= fed/libibmad__L contrib/ofed/libibumad__L contrib/ofed/include__L > +contrib/ofed/libibumad__L: contrib/ofed/include__L > +contrib/ofed/libibverbs__L: contrib/ofed/include__L > +contrib/ofed/libmlx4__L: contrib/ofed/libibverbs__L lib/libthr__L cont= rib/ofed/include__L > +contrib/ofed/libmlx5__L: contrib/ofed/libibverbs__L lib/libthr__L cont= rib/ofed/include__L > +contrib/ofed/librdmacm__L: contrib/ofed/libibverbs__L contrib/ofed/inc= lude__L > +contrib/ofed/opensm/complib__L: lib/libthr__L contrib/ofed/include__L > +contrib/ofed/opensm/libopensm__L: lib/libthr__L contrib/ofed/include__= L > +contrib/ofed/opensm/libvendor__L: contrib/ofed/libibumad__L lib/libthr= __L contrib/ofed/include__L > .endif > =20 > .if ${MK_CASPER} !=3D "no" >=20 This isn't right, you don't need to include any 'include' directories in here as 'make includes' is ran before 'make libraries'. You don't need libthr either as it is in prebuild_libs which is built before all of this. I suspect the actual change needed is far smaller than this. --=20 Regards, Bryan Drewery --dJq4P30mqlfkK6aGe015IRAkmqUViwOwb-- --dFiqTsRV5R13CqOuqpq5ibB9BMr6U9Re3 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJaDcM2AAoJEDXXcbtuRpfPi78H/12XZ98CiMwnWr+OmLK4IUot KSgM/IDA3BJyHm4l2zYDYVn9IepddjArEyHy+l1hchfj/V5dTqA7RKGM5XitAPIh jUkbn9GdRvZnW4ar5hYDcEideIQXgyNx9H4Eq/ZcvE+XTLXir8wbnZ9oVV8xYmEK hqtyWeqcDVEp/qxe8gM9Sr+UX66MAGsdRX5gHfN4NVr235h7R1Xi4VJo+LPkctyl tnaX3fnQpJCpxJGh9HoR6Yc+/DlfZU8ZE3AYB0hky37QVAdC9J2rnXev8c0hQGP6 Ewv0dTzVcWryMc8p8LSQbdHkgARVLpOPksBEwVIYu2TLmHJjfqjpc4WbcBZf76U= =jnWK -----END PGP SIGNATURE----- --dFiqTsRV5R13CqOuqpq5ibB9BMr6U9Re3-- From owner-svn-src-projects@freebsd.org Thu Nov 16 21:15:17 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4DF8FDE9599 for ; Thu, 16 Nov 2017 21:15:17 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [88.99.82.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1459A6A9DF; Thu, 16 Nov 2017 21:15:16 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2016.home.selasky.org (unknown [62.141.128.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id B1B272603AE; Thu, 16 Nov 2017 22:15:13 +0100 (CET) Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9 To: Bryan Drewery , src-committers@freebsd.org, svn-src-projects@freebsd.org References: <201711161513.vAGFDThx060235@repo.freebsd.org> From: Hans Petter Selasky Message-ID: <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org> Date: Thu, 16 Nov 2017 22:12:26 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Nov 2017 21:15:17 -0000 On 11/16/17 17:56, Bryan Drewery wrote: > On 11/16/2017 7:13 AM, Hans Petter Selasky wrote: >> Author: hselasky >> Date: Thu Nov 16 15:13:28 2017 >> New Revision: 325894 >> URL: https://svnweb.freebsd.org/changeset/base/325894 >> >> Log: >> Update list of hardcoded OFED build order dependencies for >> the buildworld target. >> >> Sponsored by: Mellanox Technologies >> >> Modified: >> projects/bsd_rdma_4_9/Makefile.inc1 >> Hi, >> > > This isn't right, you don't need to include any 'include' directories in > here as 'make includes' is ran before 'make libraries'. I tried leaving the include directory out and it failed. > > You don't need libthr either as it is in prebuild_libs which is built > before all of this. OK. I'll update it tomorrow. > > I suspect the actual change needed is far smaller than this. > Thank you for your review. --HPS From owner-svn-src-projects@freebsd.org Thu Nov 16 23:47:45 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 37374DEDC8E for ; Thu, 16 Nov 2017 23:47:45 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 07AB371385; Thu, 16 Nov 2017 23:47:45 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (unknown [127.0.1.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 068AECF58; Thu, 16 Nov 2017 23:47:44 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id DF9762A9B; Thu, 16 Nov 2017 23:47:42 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id NHzeuySRS2hL; Thu, 16 Nov 2017 23:47:39 +0000 (UTC) Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9 DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com A883A2A96 To: Hans Petter Selasky , src-committers@freebsd.org, svn-src-projects@freebsd.org References: <201711161513.vAGFDThx060235@repo.freebsd.org> <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: Date: Thu, 16 Nov 2017 15:47:19 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="bde0g249v2wHScUXbMpLLPDd8nThlmnOC" X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Nov 2017 23:47:45 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --bde0g249v2wHScUXbMpLLPDd8nThlmnOC Content-Type: multipart/mixed; boundary="0bnLOvSIiUw0gsuupQkoeXgdMAoTWpKUN"; protected-headers="v1" From: Bryan Drewery To: Hans Petter Selasky , src-committers@freebsd.org, svn-src-projects@freebsd.org Message-ID: Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9 References: <201711161513.vAGFDThx060235@repo.freebsd.org> <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org> In-Reply-To: <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org> --0bnLOvSIiUw0gsuupQkoeXgdMAoTWpKUN Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 11/16/2017 1:12 PM, Hans Petter Selasky wrote: > On 11/16/17 17:56, Bryan Drewery wrote: >> On 11/16/2017 7:13 AM, Hans Petter Selasky wrote: >>> Author: hselasky >>> Date: Thu Nov 16 15:13:28 2017 >>> New Revision: 325894 >>> URL: https://svnweb.freebsd.org/changeset/base/325894 >>> >>> Log: >>> =C2=A0=C2=A0 Update list of hardcoded OFED build order dependencies f= or >>> =C2=A0=C2=A0 the buildworld target. >>> =C2=A0=C2=A0 =C2=A0=C2=A0 Sponsored by:=C2=A0=C2=A0=C2=A0 Mellanox Te= chnologies >>> >>> Modified: >>> =C2=A0=C2=A0 projects/bsd_rdma_4_9/Makefile.inc1 >>> >=20 > Hi, >=20 >>> >> >> This isn't right, you don't need to include any 'include' directories = in >> here as 'make includes' is ran before 'make libraries'. >=20 > I tried leaving the include directory out and it failed. 1. I don't see any reason for that. You shouldn't need contrib/ofed/include__L anywhere nor contrib/ofed/include in _ofed_lib li= st. I see contrib/ofed/include hooked up fine for 'make _includes' so long as WITH_OFED is defined. What was the error? 2. Unrelated but I don't like the new directory structure of contrib/ofed/usr.bin/* -> contrib/ofed/*. Now we have contributed sources in with our FreeBSD Makefiles. It also makes it more complex in the _ofed_lib list since before we could just have contrib/ofed/usr.lib but now must list out every library.= 3. contrib/ofed/Makefile is also super complex now. It should really just look like the Makefile.inc1 changes (minus the include and libthr directories). Just add a .WAIT after include in SUBDIR and make it first= =2E You have this chained dependency thing but dependencies are already inherited just fine. SUBDIR_DEPEND_foo=3D bar SUBDIR_DEPEND_baz=3D foo baz will implicitly depend on bar being built, there's no need to explicitly add bar as a dependency but it's not wrong to do so if it has a LIBADD on it. >=20 >> >> You don't need libthr either as it is in prebuild_libs which is built >> before all of this. >=20 > OK. I'll update it tomorrow. >=20 >> >> I suspect the actual change needed is far smaller than this. >> >=20 > Thank you for your review. >=20 > --HPS --=20 Regards, Bryan Drewery --0bnLOvSIiUw0gsuupQkoeXgdMAoTWpKUN-- --bde0g249v2wHScUXbMpLLPDd8nThlmnOC Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJaDiOHAAoJEDXXcbtuRpfPiA0H/3Kv0Wt4DdEEmtNkkQoAPAW6 Evdi5nuSCwviclhoHx+/YUX9z8I4U2cseqZYMImRmhAC+8w1OYMnVbFndXGFZLBy zm/MPJRJPJ1p1+8P3kX73RGvDoUCTCJYBtzFDpwGB6vVSNBH0x4kb+cQvVOETwUm Zsimg+R8oQjnvaf+tLDxUbrrR88+fUGvaOx+Wl3JwxXNmZAgkQDvvxsb3sahzH8K PUg4NIZj8IJ+dOgqqKJR472TCK9ldhJ6gUsHcGd0lsolNKv3jSnV2wJbQE5/634M lFdgeA6dWezSyW1fFxgOdoLjkPbj+p8DeL+OL62xWNHE9ofsdScTCX+vSi/k2kw= =LN6c -----END PGP SIGNATURE----- --bde0g249v2wHScUXbMpLLPDd8nThlmnOC-- From owner-svn-src-projects@freebsd.org Fri Nov 17 07:49:55 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B800DBD325 for ; Fri, 17 Nov 2017 07:49:55 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [88.99.82.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 131277E252; Fri, 17 Nov 2017 07:49:54 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2016.home.selasky.org (unknown [62.141.128.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 01EAA2603B1; Fri, 17 Nov 2017 08:49:51 +0100 (CET) Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9 To: Bryan Drewery , src-committers@freebsd.org, svn-src-projects@freebsd.org References: <201711161513.vAGFDThx060235@repo.freebsd.org> <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org> From: Hans Petter Selasky Message-ID: Date: Fri, 17 Nov 2017 08:47:09 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Nov 2017 07:49:55 -0000 On 11/17/17 00:47, Bryan Drewery wrote: > On 11/16/2017 1:12 PM, Hans Petter Selasky wrote: >> On 11/16/17 17:56, Bryan Drewery wrote: >>> On 11/16/2017 7:13 AM, Hans Petter Selasky wrote: >>>> Author: hselasky >>>> Date: Thu Nov 16 15:13:28 2017 >>>> New Revision: 325894 >>>> URL: https://svnweb.freebsd.org/changeset/base/325894 >>>> >>>> Log: >>>>    Update list of hardcoded OFED build order dependencies for >>>>    the buildworld target. >>>>       Sponsored by:    Mellanox Technologies >>>> >>>> Modified: >>>>    projects/bsd_rdma_4_9/Makefile.inc1 >>>> >> >> Hi, >> >>>> >>> >>> This isn't right, you don't need to include any 'include' directories in >>> here as 'make includes' is ran before 'make libraries'. >> >> I tried leaving the include directory out and it failed. > > 1. > I don't see any reason for that. You shouldn't need > contrib/ofed/include__L anywhere nor contrib/ofed/include in _ofed_lib list. > I see contrib/ofed/include hooked up fine for 'make _includes' so long > as WITH_OFED is defined. > > What was the error? Hi, I'll do some experiments today. > > 2. > Unrelated but I don't like the new directory structure of > contrib/ofed/usr.bin/* -> contrib/ofed/*. Now we have contributed > sources in with our FreeBSD Makefiles. > > It also makes it more complex in the _ofed_lib list since before we > could just have contrib/ofed/usr.lib but now must list out every library. I'm aware about the duplication. The reason is simply that we want to build contrib/ofed as a standalone target. Currently it only works with buildworld, due to the _ofed_lib only being active during buildworld. Why can't the _ofed_lib be embedded inside the contrib/ofed/Makefile ? > > 3. > contrib/ofed/Makefile is also super complex now. It should really just > look like the Makefile.inc1 changes (minus the include and libthr > directories). Just add a .WAIT after include in SUBDIR and make it first. > You have this chained dependency thing but dependencies are already > inherited just fine. > SUBDIR_DEPEND_foo= bar > SUBDIR_DEPEND_baz= foo The complexity is there to support standalone builds. > > baz will implicitly depend on bar being built, there's no need to > explicitly add bar as a dependency but it's not wrong to do so if it has > a LIBADD on it. I see. I'll try to clean it up a bit more today. Thanks for your input. --HPS From owner-svn-src-projects@freebsd.org Fri Nov 17 15:23:43 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 59902DDCAF1 for ; Fri, 17 Nov 2017 15:23:43 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2611B6A260; Fri, 17 Nov 2017 15:23:43 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAHFNgZ1074093; Fri, 17 Nov 2017 15:23:42 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAHFNgrl074092; Fri, 17 Nov 2017 15:23:42 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711171523.vAHFNgrl074092@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Fri, 17 Nov 2017 15:23:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r325935 - projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc X-SVN-Commit-Revision: 325935 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Nov 2017 15:23:43 -0000 Author: hselasky Date: Fri Nov 17 15:23:42 2017 New Revision: 325935 URL: https://svnweb.freebsd.org/changeset/base/325935 Log: Fix compilation of libibnetdisc using in-base GCC v4.2.1. Sponsored by: Mellanox Technologies Modified: projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/g_hash_table.cpp Modified: projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/g_hash_table.cpp ============================================================================== --- projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/g_hash_table.cpp Fri Nov 17 13:12:20 2017 (r325934) +++ projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/g_hash_table.cpp Fri Nov 17 15:23:42 2017 (r325935) @@ -31,11 +31,17 @@ * */ +#if defined(__clang__) #include +#define HASH_TABLE_UNORDERED_MAP std::unordered_map +#else +#include +#define HASH_TABLE_UNORDERED_MAP std::tr1::unordered_map +#endif class HashTable { public: - std::unordered_map map; + HASH_TABLE_UNORDERED_MAP map; HashTable() { }; ~HashTable() { }; };