From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2F62A41C37 for ; Wed, 8 Feb 2023 04:39:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 262CB40DFD; Wed, 8 Feb 2023 04:39:03 +0100 (CET) Received: from loongson.cn (mail.loongson.cn [114.242.206.163]) by mails.dpdk.org (Postfix) with ESMTP id B95F840DDB for ; Wed, 8 Feb 2023 04:39:00 +0100 (CET) Received: from loongson.cn (unknown [10.40.46.153]) by gateway (Coremail) with SMTP id _____8DxcvBSGeNjvtIPAA--.31570S3; Wed, 08 Feb 2023 11:38:58 +0800 (CST) Received: from localhost.localdomain (unknown [10.40.46.153]) by localhost.localdomain (Coremail) with SMTP id AQAAf8BxB71SGeNjPawsAA--.19706S3; Wed, 08 Feb 2023 11:38:58 +0800 (CST) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by localhost.localdomain (8.15.2/8.15.2) with ESMTPS id 3183PBqS1577449 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 8 Feb 2023 11:25:11 +0800 Received: (from root@localhost) by localhost.localdomain (8.15.2/8.15.2/Submit) id 3183PBIa1577448; Wed, 8 Feb 2023 11:25:11 +0800 Date: Wed, 8 Feb 2023 11:25:11 +0800 From: qemudev@loongson.cn Message-Id: <202302080325.3183PBIa1577448@localhost.localdomain> Content-Type: text/plain; charset="utf-8" Subject: |WARNING| pw123417 [PATCH v2] net/ice: remove avx512 specific Rx queue rearm code In-Reply-To: <1675825141-41553-1-git-send-email-wenzhuo.lu@intel.com> References: <1675825141-41553-1-git-send-email-wenzhuo.lu@intel.com> To: test-report@dpdk.org Cc: Wenzhuo Lu , zhoumin@loongson.cn X-CM-TRANSID: AQAAf8BxB71SGeNjPawsAA--.19706S3 X-CM-SenderInfo: pthp3vthy6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBjvJXoWxCrWxKr4ktw1UJFWxCFWDtwb_yoWrZFyDpr 97CFWUGa1fJ3sxGa1rJ3WUZ3s5ZasrJFyUWr4rW3WS9F1UXrW8Ja1xtF1jvFn0kF97Kw4I 9r4Ykrs3ArsxXaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU b0AFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIEc7 CjxVAFwI0_Gr1j6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2 zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VCjz48v1sIEY20_WwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lw4CEc2x0rVAKj4xxMxAIw28IcxkI7VAKI48JMxAIw28IcVCjz48v1sIE Y20_WwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E74 80Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jrv_JF1lIxkGc2Ij64vIr41lIxAIcVC0 I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF04 k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4A2jsIEc7Cj xVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0zRhvtAUUUUU= X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Test-Label: loongarch-compilation Test-Status: WARNING http://dpdk.org/patch/123417 _apply patch failure_ Submitter: Wenzhuo Lu Date: Wed, 8 Feb 2023 10:59:01 +0800 DPDK git baseline: Repo:dpdk Branch: main CommitID: a0c837ad1fb5b6a8b10a284ffeb5f9e31bd8ff00 Apply patch set 123417 failed: Checking patch drivers/net/ice/ice_rxtx_vec_avx512.c... error: while searching for: static __rte_always_inline void ice_rxq_rearm(struct ice_rx_queue *rxq) { int i; uint16_t rx_id; volatile union ice_rx_flex_desc *rxdp; struct ice_rx_entry *rxep = &rxq->sw_ring[rxq->rxrearm_start]; struct rte_mempool_cache *cache = rte_mempool_default_cache(rxq->mp, rte_lcore_id()); rxdp = rxq->rx_ring + rxq->rxrearm_start; if (unlikely(!cache)) return ice_rxq_rearm_common(rxq, true); /* We need to pull 'n' more MBUFs into the software ring */ if (cache->len < ICE_RXQ_REARM_THRESH) { uint32_t req = ICE_RXQ_REARM_THRESH + (cache->size - cache->len); int ret = rte_mempool_ops_dequeue_bulk(rxq->mp, &cache->objs[cache->len], req); if (ret == 0) { cache->len += req; } else { if (rxq->rxrearm_nb + ICE_RXQ_REARM_THRESH >= rxq->nb_rx_desc) { __m128i dma_addr0; dma_addr0 = _mm_setzero_si128(); for (i = 0; i < ICE_DESCS_PER_LOOP; i++) { rxep[i].mbuf = &rxq->fake_mbuf; _mm_store_si128 ((__m128i *)&rxdp[i].read, dma_addr0); } } rte_eth_devices[rxq->port_id].data->rx_mbuf_alloc_failed += ICE_RXQ_REARM_THRESH; return; } } #if RTE_IOVA_AS_PA const __m512i iova_offsets = _mm512_set1_epi64 (offsetof(struct rte_mbuf, buf_iova)); #else const __m512i iova_offsets = _mm512_set1_epi64 (offsetof(struct rte_mbuf, buf_addr)); #endif const __m512i headroom = _mm512_set1_epi64(RTE_PKTMBUF_HEADROOM); #ifndef RTE_LIBRTE_ICE_16BYTE_RX_DESC /* shuffle the iova into correct slots. Values 4-7 will contain * zeros, so use 7 for a zero-value. */ const __m512i permute_idx = _mm512_set_epi64(7, 7, 3, 1, 7, 7, 2, 0); #else const __m512i permute_idx = _mm512_set_epi64(7, 3, 6, 2, 5, 1, 4, 0); #endif /* fill up the rxd in vector, process 8 mbufs in one loop */ for (i = 0; i < ICE_RXQ_REARM_THRESH / 8; i++) { const __m512i mbuf_ptrs = _mm512_loadu_si512 (&cache->objs[cache->len - 8]); _mm512_store_si512(rxep, mbuf_ptrs); /* gather iova of mbuf0-7 into one zmm reg */ const __m512i iova_base_addrs = _mm512_i64gather_epi64 (_mm512_add_epi64(mbuf_ptrs, iova_offsets), 0, /* base */ 1 /* scale */); const __m512i iova_addrs = _mm512_add_epi64(iova_base_addrs, headroom); #ifndef RTE_LIBRTE_ICE_16BYTE_RX_DESC const __m512i iovas0 = _mm512_castsi256_si512 (_mm512_extracti64x4_epi64(iova_addrs, 0)); const __m512i iovas1 = _mm512_castsi256_si512 (_mm512_extracti64x4_epi64(iova_addrs, 1)); /* permute leaves iova 2-3 in hdr_addr of desc 0-1 * but these are ignored by driver since header split not * enabled. Similarly for desc 4 & 5. */ const __m512i desc0_1 = _mm512_permutexvar_epi64 (permute_idx, iovas0); const __m512i desc2_3 = _mm512_bsrli_epi128(desc0_1, 8); const __m512i desc4_5 = _mm512_permutexvar_epi64 (permute_idx, iovas1); const __m512i desc6_7 = _mm512_bsrli_epi128(desc4_5, 8); _mm512_store_si512((void *)rxdp, desc0_1); _mm512_store_si512((void *)(rxdp + 2), desc2_3); _mm512_store_si512((void *)(rxdp + 4), desc4_5); _mm512_store_si512((void *)(rxdp + 6), desc6_7); #else /* permute leaves iova 4-7 in hdr_addr of desc 0-3 * but these are ignored by driver since header split not * enabled. */ const __m512i desc0_3 = _mm512_permutexvar_epi64 (permute_idx, iova_addrs); const __m512i desc4_7 = _mm512_bsrli_epi128(desc0_3, 8); _mm512_store_si512((void *)rxdp, desc0_3); _mm512_store_si512((void *)(rxdp + 4), desc4_7); #endif rxep += 8, rxdp += 8, cache->len -= 8; } rxq->rxrearm_start += ICE_RXQ_REARM_THRESH; if (rxq->rxrearm_start >= rxq->nb_rx_desc) rxq->rxrearm_start = 0; rxq->rxrearm_nb -= ICE_RXQ_REARM_THRESH; rx_id = (uint16_t)((rxq->rxrearm_start == 0) ? (rxq->nb_rx_desc - 1) : (rxq->rxrearm_start - 1)); /* Update the tail pointer on the NIC */ ICE_PCI_REG_WC_WRITE(rxq->qrx_tail, rx_id); } static inline __m256i error: patch failed: drivers/net/ice/ice_rxtx_vec_avx512.c:16 error: drivers/net/ice/ice_rxtx_vec_avx512.c: patch does not apply