Re: [cocci] Checking run time characteristics for longer SmPL disjunctions?
Markus Elfring <[email protected]>
| Newsgroups | fr.inria.cocci |
|---|---|
| Message-ID | <[email protected]> |
>> Do they trigger desirable grep queries? > > I would like to share some data from another test run. > https://elixir.bootlin.com/linux/v6.18-rc5/source/include/rdma > > Generated SmPL script (with some tweaks): > @replacements@ > expression a, access_flags, ateth, attr_bkey, attr_key, attrs_bundle, b, biter, bundle, client, comp_vector, cpi, cq, def_val, dest, dev_addr, direction, dma_addr, entry, filp, flags, gid, hdr, ibah, ibcq, ibpd, ibqp, ibsrq, idx, init_attr, ioctl_method_key, key, lower_bound, mr, n, nents, net_dev, nr_cqe, nr_top_bits, num_entries, offset, ohdr, p, pd, pgoff, pgoff_bitmask, pgsz, pgsz_bitmap, poll_ctx, port, private, ptr, qp, rdi, rec, res, reth, rmpp_hdr, rq, sg, size, smp, src, srq_type, swqe, to, ucontext, udata, umem, umem_odp, uobj, upper_bound, wc, x_attr, x_attrs, x_dev, x_device, x_ibdev, x_len, x_length, x_port_num, x_wr; > typedef u8, u16, u32, u64, uintptr_t; > @@ > ( > -! ! ( x_device -> attrs . kernel_cap_flags & IBK_RDMA_NETDEV_OPA ) > +rdma_cap_opa_vnic(x_device) > | > -uobj -> uapi_object -> id > +uobj_get_object_id(uobj) > | > -! res -> user > +rdma_is_kernel_res(res) > | > -! res -> no_track > +rdma_restrack_is_tracked(res) > | > -( u8 ) ( be32_to_cpu ( cpi -> cap_mask2_resp_time ) & IB_CLASS_PORT_INFO_RESP_TIME_MASK ) > +ib_get_cpi_resp_time(cpi) > | > -rmpp_hdr -> rmpp_rtime_flags & 0x7 > +ib_get_rmpp_flags(rmpp_hdr) > | > -rmpp_hdr -> rmpp_rtime_flags >> 3 > +ib_get_rmpp_resptime(rmpp_hdr) > | > -( ( smp -> status & IB_SMP_DIRECTION ) == IB_SMP_DIRECTION ) > +ib_get_smp_direction(smp) > | > -be16_to_cpu ( * ptr ) > +_iba_get16(ptr) > | > -be32_to_cpu ( * ptr ) > +_iba_get32(ptr) > | > -be64_to_cpu ( get_unaligned ( ptr ) ) > +_iba_get64(ptr) > | > - * ptr > +_iba_get8(ptr) > | > -ib_get_smp_direction ( ( struct ib_smp * ) smp ) > +opa_get_smp_direction(smp) > | > -container_of ( ibqp , struct rvt_qp , ibqp ) > +ibqp_to_rvtqp(ibqp) > | > -container_of ( ibsrq , struct rvt_srq , ibsrq ) > +ibsrq_to_rvtsrq(ibsrq) > | > -( ( ( int ) a ) - ( ( int ) b ) ) << 8 > +rvt_cmp_msn(a, b) > | > -x_len >> qp -> log_pmtu > +rvt_div_mtu(qp, x_len) > | > -( x_len + qp -> pmtu - 1 ) >> qp -> log_pmtu > +rvt_div_round_up_mtu(qp, x_len) > | > -( struct rvt_rwqe * ) ( ( char * ) rq -> kwq -> curr_wq + ( sizeof ( struct rvt_rwqe ) + rq -> max_sge * sizeof ( struct ib_sge ) ) * n ) > +rvt_get_rwqe_ptr(rq, n) > | > -ibah_to_rvtah ( swqe -> ud_wr . wr . ah ) > +rvt_get_swqe_ah(swqe) > | > -swqe -> ud_wr . attr > +rvt_get_swqe_ah_attr(swqe) > | > -swqe -> ud_wr . wr . pkey_index > +rvt_get_swqe_pkey_index(swqe) > | > -( struct rvt_swqe * ) ( ( char * ) qp -> s_wq + ( sizeof ( struct rvt_swqe ) + qp -> s_max_sge * sizeof ( struct rvt_sge ) ) * n ) > +rvt_get_swqe_ptr(qp, n) > | > -swqe -> ud_wr . wr . remote_qkey > +rvt_get_swqe_remote_qkey(swqe) > | > -swqe -> ud_wr . wr . remote_qpn > +rvt_get_swqe_remote_qpn(swqe) > | > -! ! qp -> pid > +rvt_is_user_qp(qp) > | > -( ( u16 ) dev_addr -> broadcast [ 8 ] << 8 ) | ( u16 ) dev_addr -> broadcast [ 9 ] > +ib_addr_get_pkey(dev_addr) > | > -dev_addr -> dev_type == ARPHRD_INFINIBAND ? 4 : 0 > +rdma_addr_gid_offset(dev_addr) > | > -is_vlan_dev ( x_dev ) ? vlan_dev_real_dev ( x_dev ) : NULL > +rdma_vlan_dev_real_dev(x_dev) > | > -is_vlan_dev ( x_dev ) ? vlan_dev_vlan_id ( x_dev ) : 0xffff > +rdma_vlan_dev_vlan_id(x_dev) > | > -container_of ( x_wr , struct ib_atomic_wr , x_wr ) > +atomic_wr(x_wr) > | > -access_flags & ( IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_WRITE | IB_ACCESS_REMOTE_ATOMIC | IB_ACCESS_MW_BIND ) > +ib_access_writable(access_flags) > | > -__ib_alloc_cq ( x_dev , private , nr_cqe , comp_vector , poll_ctx , KBUILD_MODNAME ) > +ib_alloc_cq(x_dev, private, nr_cqe, comp_vector, poll_ctx) > | > -__ib_alloc_cq_any ( x_dev , private , nr_cqe , poll_ctx , KBUILD_MODNAME ) > +ib_alloc_cq_any(x_dev, private, nr_cqe, poll_ctx) > | > -copy_from_user ( dest , udata -> inbuf , x_len ) ? - EFAULT : 0 > +ib_copy_from_udata(dest, udata, x_len) > | > -copy_to_user ( udata -> outbuf , src , x_len ) ? - EFAULT : 0 > +ib_copy_to_udata(udata, src, x_len) > | > -ib_create_qp_kernel ( pd , init_attr , KBUILD_MODNAME ) > +ib_create_qp(pd, init_attr) > | > -ib_dereg_mr_user ( mr , NULL ) > +ib_dereg_mr(mr) > | > -ib_destroy_qp_user ( qp , NULL ) > +ib_destroy_qp(qp) > | > -refcount_inc_not_zero ( & x_dev -> refcount ) > +ib_device_try_get(x_dev) > | > -ib_dma_map_sg_attrs ( x_dev , sg , nents , direction , 0 ) > +ib_dma_map_sg(x_dev, sg, nents, direction) > | > -xa_load ( & x_device -> client_data , client -> client_id ) > +ib_get_client_data(x_device, client) > | > -( netif_running ( net_dev ) && netif_carrier_ok ( net_dev ) ) ? IB_PORT_ACTIVE : IB_PORT_DOWN > +ib_get_curr_port_state(net_dev) > | > -ib_is_buffer_cleared ( udata -> inbuf + offset , x_len ) > +ib_is_udata_cleared(udata, offset, x_len) > | > -cq -> device -> ops . poll_cq ( cq , num_entries , wc ) > +ib_poll_cq(cq, num_entries, wc) > | > -cq -> device -> ops . req_notify_cq ( cq , flags ) > +ib_req_notify_cq(cq, flags) > | > -srq_type == IB_SRQT_XRC || srq_type == IB_SRQT_TM > +ib_srq_has_cq(srq_type) > | > -IS_ENABLED ( CONFIG_INFINIBAND_VIRT_DMA ) && ! x_dev -> dma_device > +ib_uses_virt_dma(x_dev) > | > -virt_to_page ( ib_virt_dma_to_ptr ( dma_addr ) ) > +ib_virt_dma_to_page(dma_addr) > | > -( void * ) ( uintptr_t ) dma_addr > +ib_virt_dma_to_ptr(dma_addr) > | > -x_attr -> ah_flags > +rdma_ah_get_ah_flags(x_attr) > | > -x_attr -> port_num > +rdma_ah_get_port_num(x_attr) > | > -x_attr -> sl > +rdma_ah_get_sl(x_attr) > | > -x_attr -> static_rate > +rdma_ah_get_static_rate(x_attr) > | > -biter -> __dma_addr & ~ ( BIT_ULL ( biter -> __pg_bit ) - 1 ) > +rdma_block_iter_dma_address(biter) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_AF_IB > +rdma_cap_af_ib(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_ETH_AH > +rdma_cap_eth_ah(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_IB_CM > +rdma_cap_ib_cm(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_IB_MAD > +rdma_cap_ib_mad(x_device, x_port_num) > | > -rdma_cap_ib_sa ( x_device , x_port_num ) > +rdma_cap_ib_mcast(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_IB_SA > +rdma_cap_ib_sa(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_IB_SMI > +rdma_cap_ib_smi(x_device, x_port_num) > | > -x_device -> is_switch > +rdma_cap_ib_switch(x_device) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_IW_CM > +rdma_cap_iw_cm(x_device, x_port_num) > | > -( x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_OPA_AH ) == RDMA_CORE_CAP_OPA_AH > +rdma_cap_opa_ah(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_OPA_MAD > +rdma_cap_opa_mad(x_device, x_port_num) > | > -rdma_protocol_iwarp ( x_dev , x_port_num ) > +rdma_cap_read_inv(x_dev, x_port_num) > | > -rdma_protocol_roce ( x_device , x_port_num ) && x_device -> ops . add_gid && x_device -> ops . del_gid > +rdma_cap_roce_gid_table(x_device, x_port_num) > | > -( x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_PORT_INTEL_OPA ) == RDMA_CORE_PORT_INTEL_OPA > +rdma_core_cap_opa_port(x_device, x_port_num) > | > -read_pnet ( & x_device -> coredev . rdma_net ) > +rdma_dev_net(x_device) > | > -rdma_cap_ib_switch ( x_device ) ? 0 : x_device -> phys_port_cnt > +rdma_end_port(x_device) > | > -rdma_protocol_ib ( x_device , x_port_num ) || rdma_protocol_roce ( x_device , x_port_num ) > +rdma_ib_or_roce(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_PORT_IB_GRH_REQUIRED > +rdma_is_grh_required(x_device, x_port_num) > | > -( port >= rdma_start_port ( x_device ) && port <= rdma_end_port ( x_device ) ) > +rdma_is_port_valid(x_device, port) > | > -x_device -> port_data [ x_port_num ] . immutable . max_mad_size > +rdma_max_mad_size(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_PROT_IB > +rdma_protocol_ib(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_PROT_IWARP > +rdma_protocol_iwarp(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_PROT_RAW_PACKET > +rdma_protocol_raw_packet(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & ( RDMA_CORE_CAP_PROT_ROCE | RDMA_CORE_CAP_PROT_ROCE_UDP_ENCAP ) > +rdma_protocol_roce(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_PROT_ROCE > +rdma_protocol_roce_eth_encap(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_PROT_ROCE_UDP_ENCAP > +rdma_protocol_roce_udp_encap(x_device, x_port_num) > | > -x_device -> port_data [ x_port_num ] . immutable . core_cap_flags & RDMA_CORE_CAP_PROT_USNIC > +rdma_protocol_usnic(x_device, x_port_num) > | > -rdma_cap_ib_switch ( x_device ) ? 0 : 1 > +rdma_start_port(x_device) > | > -rdma_user_mmap_entry_insert_range ( ucontext , entry , x_length , pgoff , pgoff ) > +rdma_user_mmap_entry_insert_exact(ucontext, entry, x_length, pgoff) > | > -( u64 ) entry -> start_pgoff << PAGE_SHIFT > +rdma_user_mmap_get_offset(entry) > | > -container_of ( x_wr , struct ib_rdma_wr , x_wr ) > +rdma_wr(x_wr) > | > -container_of ( x_wr , struct ib_reg_wr , x_wr ) > +reg_wr(wr) > | > -container_of ( x_wr , struct ib_ud_wr , x_wr ) > +ud_wr(x_wr) > | > -__rdma_block_iter_next ( biter ) && biter -> __sg_numblocks -- > +__rdma_umem_block_iter_next(biter) > | > -ib_umem_start_dma_addr ( umem ) & ( pgsz - 1 ) > +ib_umem_dma_offset(umem, pgsz) > // | > // -0 > // +ib_umem_find_best_pgoff(umem, pgsz_bitmap, pgoff_bitmask) > | > -( size_t ) ( ( ALIGN ( umem -> iova + umem -> length , pgsz ) - ALIGN_DOWN ( umem -> iova , pgsz ) ) ) / pgsz > +ib_umem_num_dma_blocks(umem, pgsz) > | > -ib_umem_num_dma_blocks ( umem , PAGE_SIZE ) > +ib_umem_num_pages(umem) > | > -umem -> address & ~ PAGE_MASK > +ib_umem_offset(umem) > | > -sg_dma_address ( umem -> sgt_append . sgt . sgl ) + ib_umem_offset ( umem ) > +ib_umem_start_dma_addr(umem) > | > -container_of ( umem , struct ib_umem_dmabuf , umem ) > +to_ib_umem_dmabuf(umem) > | > -( rec -> rec_type == SA_PATH_REC_TYPE_OPA ) > +sa_path_is_opa(rec) > | > -( ( rec -> rec_type == SA_PATH_REC_TYPE_ROCE_V1 ) || ( rec -> rec_type == SA_PATH_REC_TYPE_ROCE_V2 ) ) > +sa_path_is_roce(rec) > | > -container_of ( ibcq , struct rvt_cq , ibcq ) > +ibcq_to_rvtcq(ibcq) > | > -ib_u64_get ( & ateth -> compare_data ) > +get_ib_ateth_compare(ateth) > | > -ib_u64_get ( & ateth -> swap_data ) > +get_ib_ateth_swap(ateth) > | > -ib_u64_get ( & ateth -> vaddr ) > +get_ib_ateth_vaddr(ateth) > | > -ib_u64_get ( & reth -> vaddr ) > +get_ib_reth_vaddr(reth) > | > -( u8 ) ( ( be32_to_cpu ( ohdr -> bth [ 2 ] ) >> IB_BTH_A_SHIFT ) & IB_BTH_A_MASK ) > +ib_bth_get_ackreq(ohdr) > | > -( ohdr -> bth [ 1 ] ) & cpu_to_be32 ( IB_BECN_SMASK ) > +ib_bth_get_becn(ohdr) > | > -( ohdr -> bth [ 1 ] ) & cpu_to_be32 ( IB_FECN_SMASK ) > +ib_bth_get_fecn(ohdr) > | > -( u8 ) ( ( be32_to_cpu ( ohdr -> bth [ 0 ] ) >> IB_BTH_M_SHIFT ) & IB_BTH_M_MASK ) > +ib_bth_get_migreq(ohdr) > | > -( ( be32_to_cpu ( ohdr -> bth [ 0 ] ) >> IB_BTH_OPCODE_SHIFT ) & IB_BTH_OPCODE_MASK ) > +ib_bth_get_opcode(ohdr) > | > -( ( be32_to_cpu ( ohdr -> bth [ 0 ] ) >> IB_BTH_PAD_SHIFT ) & IB_BTH_PAD_MASK ) > +ib_bth_get_pad(ohdr) > | > -( be32_to_cpu ( ohdr -> bth [ 0 ] ) & IB_BTH_PKEY_MASK ) > +ib_bth_get_pkey(ohdr) > | > -( u32 ) ( be32_to_cpu ( ohdr -> bth [ 2 ] ) ) > +ib_bth_get_psn(ohdr) > | > -( u32 ) ( ( be32_to_cpu ( ohdr -> bth [ 1 ] ) ) & IB_QPN_MASK ) > +ib_bth_get_qpn(ohdr) > | > -( u8 ) ( ( be32_to_cpu ( ohdr -> bth [ 0 ] ) >> IB_BTH_SE_SHIFT ) & IB_BTH_SE_MASK ) > +ib_bth_get_se(ohdr) > | > -( u8 ) ( ( be32_to_cpu ( ohdr -> bth [ 0 ] ) >> IB_BTH_TVER_SHIFT ) & IB_BTH_TVER_MASK ) > +ib_bth_get_tver(ohdr) > | > -ohdr -> bth [ 0 ] & cpu_to_be32 ( IB_BTH_MIG_REQ ) > +ib_bth_is_migration(ohdr) > | > -ohdr -> bth [ 0 ] & cpu_to_be32 ( IB_BTH_SOLICITED ) > +ib_bth_is_solicited(ohdr) > | > -( be16_to_cpu ( hdr -> lrh [ 1 ] ) ) > +ib_get_dlid(hdr) > | > -( be16_to_cpu ( hdr -> lrh [ 0 ] ) & IB_LNH_MASK ) > +ib_get_lnh(hdr) > | > -( u8 ) ( ( be16_to_cpu ( hdr -> lrh [ 0 ] ) >> IB_LVER_SHIFT ) & IB_LVER_MASK ) > +ib_get_lver(hdr) > | > -be32_to_cpu ( ohdr -> u . ud . deth [ 0 ] ) > +ib_get_qkey(ohdr) > | > -( ( be16_to_cpu ( hdr -> lrh [ 0 ] ) >> IB_SC_SHIFT ) & IB_SC_MASK ) > +ib_get_sc(hdr) > | > -( ( be16_to_cpu ( hdr -> lrh [ 0 ] ) >> IB_SL_SHIFT ) & IB_SL_MASK ) > +ib_get_sl(hdr) > | > -( be16_to_cpu ( hdr -> lrh [ 3 ] ) ) > +ib_get_slid(hdr) > | > -( ( be32_to_cpu ( ohdr -> u . ud . deth [ 1 ] ) ) & IB_QPN_MASK ) > +ib_get_sqpn(ohdr) > | > -get_unaligned_be64 ( p ) > +ib_u64_get(p) > | > -container_of ( x_ibdev , struct rvt_dev_info , x_ibdev ) > +ib_to_rvt(x_ibdev) > | > -container_of ( ibah , struct rvt_ah , ibah ) > +ibah_to_rvtah(ibah) > | > -container_of ( ibpd , struct rvt_pd , ibpd ) > +ibpd_to_rvtpd(ibpd) > | > -dev_name ( & rdi -> ibdev . dev ) > +rvt_get_ibdev_name(rdi) > | > -rdi -> dparms . npkeys > +rvt_get_npkeys(rdi) > | > -rdi -> dparms . max_rdma_atomic + rdi -> dparms . extra_rdma_atomic + 1 > +rvt_max_atomic(rdi) > | > -rdi -> dparms . max_rdma_atomic + rdi -> dparms . extra_rdma_atomic > +rvt_size_atomic(rdi) > | > -umem_odp -> notifier . interval_tree . last + 1 > +ib_umem_end(umem_odp) > | > -( ib_umem_end ( umem_odp ) - ib_umem_start ( umem_odp ) ) >> umem_odp -> page_shift > +ib_umem_odp_num_pages(umem_odp) > | > -umem_odp -> notifier . interval_tree . start > +ib_umem_start(umem_odp) > | > -container_of ( umem , struct ib_umem_odp , umem ) > +to_ib_umem_odp(umem) > | > -( ( be64_to_cpu ( gid -> global . interface_id ) >> 40 ) == OPA_SPECIAL_OUI ) > +ib_is_opa_gid(gid) > | > -be64_to_cpu ( gid -> global . interface_id ) & 0xFFFFFFFF > +opa_get_lid_from_gid(gid) > | > -( be32_to_cpu ( OPA_LID_PERMISSIVE ) << ( 32 - nr_top_bits ) ) > +opa_get_mcast_base(nr_top_bits) > // | > // - - EINVAL > // +_uverbs_get_const(to, attrs_bundle, idx, lower_bound, upper_bound, def_val) > | > -ib_uverbs_get_ucontext_file ( x_attrs -> ufile ) > +ib_uverbs_get_ucontext(x_attrs) > | > -container_of ( udata , struct uverbs_attr_bundle , driver_udata ) > +rdma_udata_to_uverbs_attr_bundle(udata) > | > -attr_key - 1 > +uapi_bkey_attr(attr_key) > | > -attr_bkey + 1 > +uapi_bkey_to_key_attr(attr_bkey) > | > -attr_key & ( UVERBS_API_OBJ_KEY_MASK | UVERBS_API_METHOD_KEY_MASK ) > +uapi_key_attr_to_ioctl_method(attr_key) > | > -ioctl_method_key + 1 > +uapi_key_attrs_start(ioctl_method_key) > | > -( key & ~ UVERBS_API_OBJ_KEY_MASK ) == 0 > +uapi_key_is_object(key) > | > -( key & UVERBS_API_METHOD_KEY_MASK ) == UVERBS_API_METHOD_IS_WRITE_EX > +uapi_key_is_write_ex_method(key) > | > -( key & UVERBS_API_METHOD_KEY_MASK ) == UVERBS_API_METHOD_IS_WRITE > +uapi_key_is_write_method(key) > | > -test_bit ( uapi_bkey_attr ( uapi_key_attr ( idx ) ) , attrs_bundle -> attr_present ) > +uverbs_attr_is_valid(attrs_bundle, idx) > | > -x_attr -> ptr_attr . len <= sizeof ( x_attr -> ptr_attr . data ) > +uverbs_attr_ptr_is_inline(x_attr) > | > -uverbs_get_const_signed ( to , attrs_bundle , idx ) > +uverbs_get_raw_fd(to, attrs_bundle, idx) > | > -( ( a -> sib_addr64 [ 0 ] | a -> sib_addr64 [ 1 ] ) == 0 ) > +ib_addr_any(a) > | > -( ( a -> sib_addr32 [ 0 ] | a -> sib_addr32 [ 1 ] | a -> sib_addr32 [ 2 ] | ( a -> sib_addr32 [ 3 ] ^ htonl ( 1 ) ) ) == 0 ) > +ib_addr_loopback(a) > | > -filp -> f_cred == current_cred ( ) > +ib_safe_file_access(filp) > ) > > > 153 branches > > > Markus_Elfring@Sonne:/home/altes_Heim2/elfring/Projekte/Coccinelle/janitor> time /usr/bin/spatch --parse-cocci /home/altes_Heim2/elfring/Projekte/Bau/Linux/scripts/Coccinelle/list_inline_non-void_functions5-rdma-adjusted-20251114.cocci > … > pure metavariable T is matched against the following nonpure code: > struct rvt_swqe > > > No grep query > > real 0m24,940s > user 0m24,241s > sys 0m0,362s > > > How will software improvements evolve accordingly? The following information can be determined from the application of the software combination “Coccinelle 1.3.2”. Markus_Elfring@Sonne:~> time spatch --parse-cocci /home/altes_Heim2/elfring/Projekte/Bau/Linux/scripts/Coccinelle/list_inline_non-void_functions5-rdma-adjusted-20251114.cocci … No grep query real 0m46,834s user 0m45,685s sys 0m0,314s Regards, Markus