From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-f175.google.com (mail-ie0-f175.google.com [209.85.223.175]) by dpdk.org (Postfix) with ESMTP id C275C6849 for ; Tue, 31 Mar 2015 17:13:19 +0200 (CEST) Received: by iedm5 with SMTP id m5so18500114ied.3 for ; Tue, 31 Mar 2015 08:13:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=cJoE/oVkjG2dqEe33aKe+GxSt654weSbeUAURS7OhXM=; b=VZ4KsAwfjJ/H2MaSUz1bNnK2tEojsgyFwea1lyu2LPz0NpzXeiN9Hal9EvcdllyXXv X4vqc+/UhD2mEu4OfLib52CFuDJ4hDgm47X4eYloX4roL9jVxVFT4mgT2c5FwYSLokWg ag0RRdxqlhCBKXFoCDFj4+svqBeUa4vEusxAIUqssulWLeUXnMTnfx5vXi4w6c6xE2Gl 0O+J1QlwYPpG6V3xjzEtXY2zs4YPgO+P8GFA32WIDuqcaUWAel32MdSF4PQ371odlnWQ DH+Fm1wQab6hnHbvaPa/ietQjul69gWywV7gxiclyXL1mB/6lzIM6fWdg4bLhr3twGT+ WJtw== MIME-Version: 1.0 X-Received: by 10.107.133.16 with SMTP id h16mr56337808iod.31.1427814799108; Tue, 31 Mar 2015 08:13:19 -0700 (PDT) Received: by 10.50.182.232 with HTTP; Tue, 31 Mar 2015 08:13:19 -0700 (PDT) Date: Tue, 31 Mar 2015 20:43:19 +0530 Message-ID: From: Rajasekhar Pulluru To: dev@dpdk.org Content-Type: text/plain; charset=UTF-8 Subject: [dpdk-dev] Queries on dpdk buffer allocation and kni X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Mar 2015 15:13:20 -0000 Dear Group members, I have been trying to understand the dpdk code and have got two queries. 1. descriptor rings and packet buffer allocation Looking at the linux native e1000 kernel driver, Memory for NIC's tx and rx descriptor rings are allocated using dma_alloc_coherent. Memory for rx packet buffers are allocated using netdev_alloc_skb and dma address (after dma_map_single) of skb->data is set to rx descriptor to receive packet onto skb. Looking at dpdk user space driver, all rings and packet allocation is done using (dpdk) mem pools. I would like to know a) whether the mem pool internally uses dma_alloc_coherent like apis to allocate buffers b) if the buffer is allocated by kernel, how does the user space application map them and access the packet data directly. 2. kni what is the internal mechanism used to implement FIFO-based shared memory (used between kernel and user-land). Thanks in advance, Rajasekhar