From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-la0-x230.google.com (mail-la0-x230.google.com [IPv6:2a00:1450:4010:c03::230]) by dpdk.org (Postfix) with ESMTP id E8A785959 for ; Tue, 5 Nov 2013 11:45:28 +0100 (CET) Received: by mail-la0-f48.google.com with SMTP id ec20so2484775lab.35 for ; Tue, 05 Nov 2013 02:46:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=si/ZtZjWTyvwxO0wtrZjCtjf+Kx27GudrpqFnwSG54s=; b=mSbbYrioShQoyJsMwQMR3SlrvP7AvNklUEImV8EQ44Ru1AnjspUI095cQe1f3Bfb7E L9u2s03FjPPWHsC195aLJ0ysM7qd+txPJWllFT3qz5VEqhIkAjryEufpMSMRjyLKATgf qwQ+KQuylAdl3vWg6OmpRuXLwzMmQfhXg25af3YyyADRhimjJ6WbX0VIhRI1q6c/Smi4 vweYqiEQAXd/nxp9IOS9mC8J1Cn8gn/3qB+NPaOznKQkMLZ9dey1Hl6NfvhoaU5BpWrt 6+PVg7VsPwxbhs3hL+Pq4zHrtBH0in38cvF4QofmlPO6wH3tkUYLR6Z3KxWy6zld+XrI yE3Q== X-Received: by 10.152.28.105 with SMTP id a9mr1020405lah.41.1383648381512; Tue, 05 Nov 2013 02:46:21 -0800 (PST) Received: from [192.168.15.127] ([46.148.225.176]) by mx.google.com with ESMTPSA id b1sm27363837lah.6.2013.11.05.02.46.20 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 05 Nov 2013 02:46:21 -0800 (PST) Message-ID: <5278CC7B.9040600@gmail.com> Date: Tue, 05 Nov 2013 14:46:19 +0400 From: Dmitry Vyal User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "dev@dpdk.org" Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [dpdk-dev] Thread preemption and rte_ring 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, 05 Nov 2013 10:45:29 -0000 Hello, Documentation for rte_ring says: the ring implementation is not preemptable. A lcore must not be interrupted by another task that uses the same ring. What does it precisely mean? Must all the producers and consumers be non-preemptive? Can we relax that restriction somehow? Say, can I have multiple non-preemptive writers running on dedicated cores and a single reader running as a regular Linux thread? Thanks, Dmitry