From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966334AbdGUDgL (ORCPT ); Thu, 20 Jul 2017 23:36:11 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:16792 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966224AbdGUDgK (ORCPT ); Thu, 20 Jul 2017 23:36:10 -0400 Subject: Re: [PATCH 0/2] sparc64: Use low latency path to resume idle cpu To: David Miller Cc: sparclinux@vger.kernel.org, rob.gardner@oracle.com, anthony.yznaga@oracle.com, linux-kernel@vger.kernel.org References: <1499545424-415240-1-git-send-email-vijay.ac.kumar@oracle.com> <20170720.125710.1645099626446989744.davem@davemloft.net> <20170721.035526.1236051430538663900.davem@davemloft.net> From: Vijay Kumar Organization: Oracle Corporation Message-ID: <3bb6d4bb-ebf1-1a1f-9766-b02a187cbe1e@oracle.com> Date: Thu, 20 Jul 2017 22:36:42 -0500 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170721.035526.1236051430538663900.davem@davemloft.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Source-IP: aserv0022.oracle.com [141.146.126.234] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/20/2017 9:55 PM, David Miller wrote: > From: Vijay Kumar > Date: Thu, 20 Jul 2017 21:44:24 -0500 > >> I had same thoughts initially but I had to go with this approach as >> scheduler_ipi is wrapped with irq_enter() and irq_exit(). Whereas POKE >> resumes the cpu in process context. >> >> Comments in scheduler_ipi(): >> >> * Not all reschedule IPI handlers call irq_enter/irq_exit, since >> * traditionally all their work was done from the interrupt return >> * path. Now that we actually do some work, we need to make sure >> * we do call them. >> * >> * Some archs already do call them, luckily irq_enter/exit nest >> * properly. >> * >> * Arguably we should visit all archs and update all handlers, >> * however a fair share of IPIs are still resched only so this would >> * somewhat pessimize the simple resched case. >> */ >> irq_enter(); >> > I still think we should be able to fake the state such that this > direct schedule_ipi() call will work. > > I could be wrong :) I can give a try :). But looks to me one thing that will go wrong is irq accounting done in __irq_enter() and rcu_irq_enter(). Thanks, Vijay