Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757692AbbEWACy (ORCPT ); Fri, 22 May 2015 20:02:54 -0400 Received: from mailapp01.imgtec.com ([195.59.15.196]:48697 "EHLO mailapp01.imgtec.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757429AbbEWACw (ORCPT ); Fri, 22 May 2015 20:02:52 -0400 Message-ID: <555FC32A.4020308@imgtec.com> Date: Fri, 22 May 2015 17:00:42 -0700 From: Leonid Yegoshin User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Ralf Baechle CC: , , , , , , , , , , , , Subject: Re: [PATCH 1/2] MIPS: MSA: bugfix - disable MSA during thread switch correctly References: <20150519211222.35859.52798.stgit@ubuntu-yegoshin> <20150519211351.35859.80332.stgit@ubuntu-yegoshin> <20150522093812.GH6941@linux-mips.org> <555F776E.3070904@imgtec.com> <20150522232019.GA10556@linux-mips.org> In-Reply-To: <20150522232019.GA10556@linux-mips.org> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.20.3.79] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1857 Lines: 46 On 05/22/2015 04:20 PM, Ralf Baechle wrote: > On Fri, May 22, 2015 at 11:37:34AM -0700, Leonid Yegoshin wrote: > >> On 05/22/2015 02:38 AM, Ralf Baechle wrote: >>> Just move the call to finish_arch_switch(). >> It might be a problem later, then a correct MSA partiton starts working. It >> should be tight to saving MSA registers in that case. >> >>> Your rewrite also dropped the if (cpu_has_msa) condition from >>> disable_msa() probably causing havoc on lots of CPUs which will likely not >>> decode the set bits of the MFC0/MTC0 instructions thus end up accessing >>> Config0. Ralf >> Right before this chunk of code there is a saving MSA registers. Does it >> causing a havoc or else? >> >> May I ask you to look into switch_to macro to figure out how "if >> (cpu_has_msa)" check works in this case? > Ah sorry I now see that your added code is not executed for all CPUs but > only those having MSA. So then it's safe. > > Still I don't stylistically like defining the register t4 in the middle > of the code. > > Below my suggested patch. It's advantage is that for non-MSA platforms > the call to disable_msa() will be removed entirely. > > Something like Paul's http://patchwork.linux-mips.org/patch/10111/ (assuming > it's correct and tested) seems like a full cleanup but it's way too > complex for 4.1 or the stable kernels. > > Ralf > > All 3 patches seems working (I tested), but if you don't like mine then I prefer Paul's patch more - it concentrates stuff more closely and removes some assembly stuff. Besides that, it introduces lose_fpu_inatomic() which is needed for me :) - Leonid. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/