From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0064.outbound.protection.outlook.com [104.47.37.64]) by dpdk.org (Postfix) with ESMTP id EB1823B5 for ; Tue, 29 Nov 2016 03:01:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=5S+BdSSbwqujRg4DpbLD7GLY0N6OAUjO164DH3xFB0k=; b=aWls1s2JpsHeYDYLpr/9iVM1+3aRyCjn5FO9O4CpAOgrWRCgK0dW/FEOlqQUUkUkB3q6/PKtjbhMy/J0ybCxspO9pTQHViznrfLYPSprDHl7SpoN+0taPsUDjJ7PDJGHuY/0sQYti9dFAqCg83cSUfz5elhB2lfnDtLVPNvZdb0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from svelivela-lt.caveonetworks.com (50.233.148.156) by CY1PR0701MB1725.namprd07.prod.outlook.com (10.163.21.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.693.12; Tue, 29 Nov 2016 02:01:51 +0000 Date: Tue, 29 Nov 2016 07:31:48 +0530 From: Jerin Jacob To: "Eads, Gage" CC: "dev@dpdk.org" , "Richardson, Bruce" , "Van Haaren, Harry" , "hemant.agrawal@nxp.com" Message-ID: <20161129020147.GA9930@svelivela-lt.caveonetworks.com> References: <9184057F7FC11744A2107296B6B8EB1E01E31739@FMSMSX108.amr.corp.intel.com> <20161121191358.GA9044@svelivela-lt.caveonetworks.com> <20161121193133.GA9895@svelivela-lt.caveonetworks.com> <9184057F7FC11744A2107296B6B8EB1E01E31C40@FMSMSX108.amr.corp.intel.com> <20161122181913.GA9456@svelivela-lt.caveonetworks.com> <9184057F7FC11744A2107296B6B8EB1E01E32F3E@FMSMSX108.amr.corp.intel.com> <20161122200022.GA12168@svelivela-lt.caveonetworks.com> <9184057F7FC11744A2107296B6B8EB1E01E331A3@FMSMSX108.amr.corp.intel.com> <20161122234331.GA20501@svelivela-lt.caveonetworks.com> <9184057F7FC11744A2107296B6B8EB1E01E33E96@FMSMSX108.amr.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <9184057F7FC11744A2107296B6B8EB1E01E33E96@FMSMSX108.amr.corp.intel.com> User-Agent: Mutt/1.7.1 (2016-10-04) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: CY1PR20CA0019.namprd20.prod.outlook.com (10.161.165.157) To CY1PR0701MB1725.namprd07.prod.outlook.com (10.163.21.14) X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 2:L03CSd2IAvO+D9AXnjehlMPyD2mALMJPZ0ShX4QArVRQx/OoD4h9RMGywt+TaSE7bu5YiGlZ8haxm69akTYznkMWRwl/5IN6VpjLrpSnPOl2ejdsAvyb6TRkMm/8VdyLxEPxqhlRWw1wwGa/u2hTqsrQkjvca6ww355+O9WX3+k=; 3:L0FVJUQ1ZVe0xwzOxPQnq6Z4gAGsUunLX/jRNUNolYbNuxF6KbjrRmWxgbFqak/xS90J+LoQZb5caDvAQ9K0cXxlaFZLxa/FyjBr3m1yGwlMGs9T7BQUTAWCvHn6PPApZ+XoHonFT1pm0PcXG7aQlKy+YBXqrQo+5lb4aHFLrRo= X-MS-Office365-Filtering-Correlation-Id: d80f4e59-bb92-4cf7-9255-08d417fbafc9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:CY1PR0701MB1725; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 25:C9zAuVtV81rWIvmdwu7eAiuiWu7jb/bpW1TChNRjYashY4Jsh2MKrr/n0olizoaoPdWcZ5HpwqBK8sye5vpgLzXXIa+O5SlQpfQeQNOGD+W38lIHftAzIvZp1rOLN2HXxmfZVfc8j+mk3ISZf9wDJvoOIB9O0cB3oFk+scOye+oISKOcoquWVbist3JNm8BWoLUU+cTfW8147K5C6H6YHPUfTcaMV6E89PHN4caW34WZCM672we3LMwVpB7MB/u/07WgLQvwwwNABJJzms0hoKwJQTNGuoBmr8FPryDn4zhZ5AJfgz+wlacTl6o3QhzqDkhaF6iIziuIfbykd+J7J58qsHoe//Dfw+cNAczHMl4r2ESljImw/6s/gyZAm2jhvizIa6t+8WY9mlbK0hQF6Kl91Uo5GVI6aPmEgcTuV/4Pl7RJrjzT2AAEruGBGfjcgZSgULZN0K6JTqzYf9TSU4OZHPqmzfGP1XqQk7NHIJUYyvATY8QFPVu4BQuF8fiLBeRecc88kIyCqBJ0CKxLvyIehHAdAZlKTRn2J9cYUpR4VqPnYeWq8KUm0LVP6O9yzzhyVDHeFMj0LLdELwNO2K7PYTGw4fLogqaXJBs4JcI5Gdi4p0yqAXRziqgv09BBpJGLUXIcZL2lDH01WUEBgcVVhpbc3Dkz0Y6jUVHrdsfTbJJ0TYcx6WUFqPWZh3lDi6JMPFSMGMmylRarxj5GzXO+reYVRGwoMzyVXGDVI7aj4F9jrX9fLzzsQ9atEw/S29dB/i0gI1Fru7EoGnxmMQ== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 31:tDM+q0/WG9wZ/wXwok4a4JMtpr7rcH+RZenCVRKWEfO5ynQE9QJarRFoIY2fWSPTfH/UJnmllB22z4uPPJ16eCzjKbA5nmTadH4GPdlvHoUVS8sSJ8T3Skcrv9rzXMwuK0ok+JoAe1zwrsW48JQc0AnW9GluKWnJCFdZO3WUyynlJKrMC+iwko7Gkr0b9YZQMA211mGVEYIVOvHjIhgFOP+W+oe2ZEqupvp8J5hB8DEsuuLx5WDiDNc+jjovI9IHcpUlxXTCcWCBDpBrnYLtYrC0ysXlNnBfkFoPeEGFV30=; 20:faMn2AdbZ2SkofGkk9/Rf/t5vrx3SILY8CF8s8XeC/9ARQWPDI/nNJTsV7ErwURZKgWPcFHMW/xH3mgNPSoSOXLNGDImg88SjBKs8Y92W4Ywfm2FRKYzFVYPQJItyUqZmEfqK3LNu18OjB8naY4Pg+v/6uKrWHiuUH6FLqrBc6m8TpdcxdGYMKaTK/ByBhZJCCPnG3xwNETNt9hT22tIyM1VIMC+SCFGxFXiAZyYSdOvlpnvLs6cA3LINrmNe/EbRyOj2U3XZ6Ok4VwEyvjeA8pjW/w678/LjpEcqlp9vzgvj1nk7X15RlyyCIBg7vRwsxcizSTaZZqTAk8b+msz+HGDQBr7NOTaiI04BdX94U57jDXDlmLK5SGgqZALwT37m52HED7ShmfT39Q0eu0qYIkc/SesgusO0lH2jpGhsAvh1gX39htZ4ZQSd1QuUKhW3yv5+h50TQkF5VKZE/C3sLi8fujcOQsdM24XA6jAgqp1iy/driCHKY3ZNzOdoew00uwPCVxKwrtKaoC6Xbj+9tt0vi/qaNaQWf2yQ+YiQbfh/KSUUDY2x58VRHl04bm/LlEoh3+PPmXFGVdPgkh9qJFqaU4iop2bkfAHqycpwJ4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(278428928389397)(271806183753584); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6045199)(6060326)(6040361)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(6061324)(20161123558021)(20161123560025)(20161123555025)(20161123562025)(20161123564025)(6042181); SRVR:CY1PR0701MB1725; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB1725; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 4:UEeZwwu9ZYjtNyYEa4Zu3s7J9e8clDz8Kqn/NVTE0W6Hkveea9bb8RfgEokU21qjbfP9+TrxV2GnJv4JHmBBf7d+4Tf3xoa+zpjulyQCpqDKG/pWsVNwPHgOkN4TtdcmanvHnrlbvo9Hkj4POgXVp5diF4CyCg0SteegHbZQijccj6veSZ1Ud3zMzbZB/cLKY2/LP/M9Wy90W1CoL1p+VRDANS41AKx0+J7KTP+eM1OHkCqP+KvQNFhpsYoqLOQwC9Esjkn09yiRqjXlCSs8jIYquDYeJ4JdLgfnG0i/T8cGgxzAw9odEtJTBoLHGHqU44SQRwzOOa9v1kV2P/s0Nj+rgsijW8Y+IUA7awt0Na4POFsFjg+Im0c9fmuwrlLw7/pWbjFQM8bxsoQwHQeVn8wp1IfnmXhcdhy/zLd7ZIO4i1l2r80wrAh4zElQG0nF6La2B364zMQnPQY4P4WAfvMK6sIu59tiJ3NwI0afJhiR9nFBIeeXwm1BAeN4jR1cle6s/vAVYcoOjsPZ37HATxM8A2FExBV3FbrK191hy9jlbQS3aNtVcesrlgSUl/FNi5hHZuO97cnKfCGM81OvQa2XVB2w2OdW0QVfSFYP3ZO0kSa2+jDVyINrEzhX98//mQOsKlVbM4rPnlYVtYOU2B6IcMfM0WNBTMlV+vR00LkonABUDi4jKEkDHmIwVqDmJaNDY+FsspYsQ7culrWmo77SnPi3H+ZLWEQSSyBetWAbnqdmV42Dw+OuNT/Lr8ss X-Forefront-PRVS: 01415BB535 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(24454002)(199003)(189002)(23726003)(6116002)(33656002)(4001350100001)(50466002)(69596002)(97736004)(8676002)(189998001)(8666005)(42186005)(47776003)(81166006)(229853002)(1076002)(53416004)(733004)(38730400001)(66066001)(4326007)(2906002)(83506001)(3846002)(68736007)(7736002)(7846002)(305945005)(105586002)(110136003)(81156014)(101416001)(76176999)(50986999)(2950100002)(97756001)(106356001)(42882006)(6916009)(93886004)(9686002)(6666003)(54356999)(5660300001)(46406003)(92566002)(18370500001)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1725; H:svelivela-lt.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0701MB1725; 23:C25Tu1e+1JzTTP/R2TNuzoI5fkZp0uctPCUX0to?= =?us-ascii?Q?3QYXPI+bV+DJAZjD1PnYm6n2kJmyPWBnpqZgren7UJpwwgHZMHBXFtLZcb17?= =?us-ascii?Q?NImFIHi6tPFk+m+DTjZj0WNPIRMDtj31ucpfHs6akenYdG80rnSoy6bvy2QG?= =?us-ascii?Q?MHRRup8Yxbr9+mnDU8DUQH+F6uJKHiOl7ojEuzqhoMv1kmSknQqUj+GVkaxT?= =?us-ascii?Q?lpTPUlyTuIrkznyoDQfzLOLgJ3bOsAXkw2JzgZOo4U0JX1ZkQrtTOqlP/LOC?= =?us-ascii?Q?pzqpE4aFhaFn8PVGG6ZaFliYVU5Dkhsyv9moaYTE8xaAtkExJ4te37uvAQvU?= =?us-ascii?Q?or6K0YGfcimo+wjnPMl/9vF1hTFK4J2H/QI90gODI98LeZtoFMmBEM7uyBGJ?= =?us-ascii?Q?NkFaXbsUhcTJRKV7TvgOhkECyMd4XLru1nUVwp4hgBllJT+nF301MybTADMk?= =?us-ascii?Q?CuAis+TrfsJatWY4YjOm0oQmYQLg4rirjkATWoyJc35b4wXjSzArhdwYghlo?= =?us-ascii?Q?NSgLOqe9Y1lKQVICxWnT5G7cOTMdN07emppOZcVZ/c3UzVs/KeL9TfHpBtbn?= =?us-ascii?Q?ln/hlolp25+FSRiDTziPLpbE233XBwyPdCAzMGlU18jsYZqQBosl52HHvFpe?= =?us-ascii?Q?fI6C0GtSMWDbVKC9qvVqkhBUJ6s8THlVBYosIyrnXv0cB4ZSpmEGU7b7bret?= =?us-ascii?Q?CY+sCe4fokMZ+AsQiFeWKCryvuM748LofqK/jCvc3PS3AK0M7FIGC7VcNrTx?= =?us-ascii?Q?TNdRJvsTMn6XM2grcDjf2ekHrc5dZK4imYdk7rTO4Zt80adw4emGU3Gp4B3v?= =?us-ascii?Q?JxeY2UV4PuMsUu2o5KrQGuIcduhkX1SNKI3dQ7SAQHB46uXH4sY5UHPBFqqF?= =?us-ascii?Q?OGB6Rt5riTbWfV05008i4eOzsmmN9KudAoBsqsmUrXqnwLac5Guhd4cbrkrm?= =?us-ascii?Q?E+wOHw4f6k+Zkc5V9n60sBvhsjnA4Yn0w7pUw64j9oRg/nr3/CQlVJAzKTix?= =?us-ascii?Q?X8cVBjaA2KcGFmCO+CTh6JoV0PsQmJ0qOSy3K1/R5RybrVCBotlwCogns2Oo?= =?us-ascii?Q?dFq/5n7E3uLnglpxi87bzg70xmM75dXJNpjx+WKMZFwoFzxcj9XjD+pExJ74?= =?us-ascii?Q?m/2mhjlh7iLPw3dvUp0AGJRLroZVd3N3a9wdzyKNj6Ykm6XnE1fltMwMNRGy?= =?us-ascii?Q?kdK6w3nQzdPGucT15e03O9S/0AGbk+QyXdEBNVGnsYC0XjleHOifmN/9JPAq?= =?us-ascii?Q?abgKxCFsNWn0H7FVFI9MLEt8l+TkPBy/wuxbhd/qKUgqaNlGIKy0BCHGqxQD?= =?us-ascii?Q?COw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 6:eVP0f78eem4GBLOntA7a3Flb5EWvGRTVRzrUFXh1ke8umfuCKRM4JuNTNiO6bw7nCmkZE1SBKac3W5cwvBzy5K6bUIecqgEK2y/DiMMzBykXnpifjfPiarMf6bHJrKHg79wdmlhXnbsEUVWWNDI7881fOrE8gtp5eaRBwSmYEp5BDekuVdbsqc8QzHHnwH6IXnxON1PB/rnAq4zhANJKYnczZhMv7Mgq0CDVndyi7HTqp28GtzKxiDmXYxf11SN34YPd4IhAFvrccq3GhiD+ZN5yGQ+kqdOZY5r7SK5WQvzBKWQUmEf8STIK9lewOjovrKUTFSqSdxZ/Ys0cUs4S12t3Has5eWs3P/CD2cyvrAQ=; 5:dGv7aRKCLwkFmacdiETcOBM3Q9VOqIyKHXJvItqL/e9DoFeeGJpavDPMRiCh52hJenuKGDwcDI/b3Pg47uOrmzJBgKCFieVX5bREdiHkftIDPkwghmfHce7i5JahYdh+xgF0LrGx7mzF0mmiSmv37w==; 24:zM42XYsGgc6OPDRTGrXwPIlQIENSCzmnwD8DsfXs2Z49XCmRznf5RTox5w8nlfSCxgKUcVqOYkDBl5hqSmnpmxWrZ3CtLTGxtmFoL063fMM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1725; 7:LXm8ydG9wWou6RLCMTI59PJJ9pRQea/ZruUnIv0vDuMhSzN5Q7ejZL+UXtTYrmmO7YHkVj4OHN3JM3XrgwplEl8KjskrZtUKvd5jZGdRbQAacjnawdFqD7LCdnIvaaCM0OL7Uc6SKCRXO7/t2TKN1k5UBajtzOHlZYG+upvK4uSsU52FEqWGQ6vvvnkBv1/vBYhRNz9ToPuUdDjNkC0l3+CDvAZ4igdLDxs1oQRm680n5wj6zUOcYM7U0w38QSOeRM7OfJUaXb4atpdjM1cf44WSYIqwsZxAoJUMtSC4SgAVPeffN/2BjXMBJ54sCk5/WSF7fCMO4mDzBFWA4BQO1YQyNGHUjD/EbNjKC4pe2U4= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2016 02:01:51.6879 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1725 Subject: Re: [dpdk-dev] [PATCH 2/4] eventdev: implement the northbound APIs 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, 29 Nov 2016 02:01:57 -0000 On Mon, Nov 28, 2016 at 03:53:08PM +0000, Eads, Gage wrote: > (Bruce's adviced heeded :)) > > > > > > > > > > > How would this check work? Wouldn't it prevent any core from > > > > running the software scheduler in the centralized case? > > > > > > > > I guess you may not need RTE_EVENT_DEV_CAP here, instead need flag > > > > for device configure here > > > > > > > > #define RTE_EVENT_DEV_CFG_DISTRIBUTED_SCHED (1ULL << 1) > > > > > > > > struct rte_event_dev_config config; config.event_dev_cfg = > > > > RTE_EVENT_DEV_CFG_DISTRIBUTED_SCHED; > > > > rte_event_dev_configure(.., &config); > > > > > > > > on the driver side on configure, > > > > if (config.event_dev_cfg & RTE_EVENT_DEV_CFG_DISTRIBUTED_SCHED) > > > > eventdev->schedule = NULL; > > > > else // centralized case > > > > eventdev->schedule = your_centrized_schedule_function; > > > > > > > > Does that work? > > > > > > Hm, I fear the API would give users the impression that they can select the > > scheduling behavior of a given eventdev, when a software scheduler is more > > likely to be either distributed or centralized -- not both. > > > > Even if it is capability flag then also it is per "device". Right ? > > capability flag is more of read only too. Am i missing something here? > > > > Correct, the capability flag I'm envisioning is per-device and read-only. > > > > > > > What if we use the capability flag, and define rte_event_schedule() as the > > scheduling function for centralized schedulers and rte_event_dequeue() as the > > scheduling function for distributed schedulers? That way, the datapath could be > > the simple dequeue -> process -> enqueue. Applications would check the > > capability flag at configuration time to decide whether or not to launch an > > lcore that calls rte_event_schedule(). > > > > I am all for simple "dequeue -> process -> enqueue". > > rte_event_schedule() added for SW scheduler only, now it may not make sense > > to add one more check on top of "rte_event_schedule()" to see it is really need > > or not in fastpath? > > > > Yes, the additional check shouldn't be needed. In terms of the 'typical workflow' description, this is what I have in mind: > > * > * An event driven based application has following typical workflow on fastpath: > * \code{.c} > * while (1) { > * > * rte_event_dequeue(...); > * > * (event processing) > * > * rte_event_enqueue(...); > * } > * \endcode > * > * The point at which events are scheduled to ports depends on the device. For > * hardware devices, scheduling occurs asynchronously. Software schedulers can > * either be distributed (each worker thread schedules events to its own port) > * or centralized (a dedicated thread schedules to all ports). Distributed > * software schedulers perform the scheduling in rte_event_dequeue(), whereas > * centralized scheduler logic is located in rte_event_schedule(). The > * RTE_EVENT_DEV_CAP_DISTRIBUTED_SCHED capability flag indicates whether a > * device is centralized and thus needs a dedicated scheduling thread that > * repeatedly calls rte_event_schedule(). Makes sense. I will change the existing schedule description to the proposed one and add RTE_EVENT_DEV_CAP_DISTRIBUTED_SCHED capability flag in v2. Thanks Gage. > * > */