From owner-freebsd-arm@FreeBSD.ORG Sat Jan 17 13:58:50 2015 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 90803B2F; Sat, 17 Jan 2015 13:58:50 +0000 (UTC) Received: from mail-qa0-x232.google.com (mail-qa0-x232.google.com [IPv6:2607:f8b0:400d:c00::232]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 47F62B6B; Sat, 17 Jan 2015 13:58:50 +0000 (UTC) Received: by mail-qa0-f50.google.com with SMTP id k15so19024565qaq.9; Sat, 17 Jan 2015 05:58:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=PFI/Xy+PXaOpuDoWeuXGWnyZUEj+6oEq8Sg0RiYThA8=; b=tQpvrssrUyBeekZV2FG/6E8qKZo6LXIOMuV/UzJ7wRhI/D+wpQ7OMt1tHUYYX0lU9A Jo0w8RCn+1088OqfQ31HJJxhWaqirSbUd0Em6nu+Js5KmVy6mbxww1EPsWSFI5c7hMg1 4tYdGhSNuOdQK4vywcRNLE74gzvtDLtteHIEPAZ3sDJ8Y8tpnumbaVc0za+IsA4JOdNU +EK1oY+kvqCKsTTf4O7x0o9Vps/KdcNHmxIfD+dHugIe/rX3YvNKfy+dgbQZrQrxIQ1b FlAdbq6EblvOeg9uRRYiRLMyMmDdCgb+goFY7oirRRMIrRFXbqoxzJQHkflMyeM+9Hn2 9TYA== MIME-Version: 1.0 X-Received: by 10.224.135.138 with SMTP id n10mr22492722qat.45.1421503129484; Sat, 17 Jan 2015 05:58:49 -0800 (PST) Received: by 10.140.82.180 with HTTP; Sat, 17 Jan 2015 05:58:49 -0800 (PST) In-Reply-To: <1421425153.14601.289.camel@freebsd.org> References: <20150115192624.122066dd@bender.lan> <20150116120315.7f343f66@bender.lan> <6E33C7B5-F784-4604-9F09-9FEDB1EFBE56@bsdimp.com> <1421425153.14601.289.camel@freebsd.org> Date: Sat, 17 Jan 2015 14:58:49 +0100 Message-ID: Subject: Re: interrupt framework From: Svatopluk Kraus To: Ian Lepore Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: freebsd-arm@freebsd.org X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Jan 2015 13:58:50 -0000 On Fri, Jan 16, 2015 at 5:19 PM, Ian Lepore wrote: > On Fri, 2015-01-16 at 08:34 -0700, Warner Losh wrote: >> > On Jan 16, 2015, at 5:03 AM, Andrew Turner wrot= e: >> > >> > On Fri, 16 Jan 2015 12:44:22 +0100 >> > Svatopluk Kraus wrote: >> > ... >> >> It's just a few things from quick look now which are different in our >> >> design. However, my intention is not read our code on behalf of you. = I >> >> still think that our design is more general mainly and can serve for >> >> interrupt controllers better. >> > >> > I was asking on the differences as I'm already in the process of >> > importing the arm_intrng project branch as I need something like it on >> > arm64. It is also based on the same code from Jakub and Ian, I haven't >> > looked at changing the design, just cleaning up the code to import int= o >> > head. >> > >> > I would be happy to merge your code instead, along with my existing >> > cleanups, however I would need to know why I should spend time on it a= s >> > opposed to the current development branch. If we do decide to with you= r >> > change I would like to import it into the arm_intrng project branch >> > first to assist the import into head. >> >> My first look at Svatopluk=E2=80=99s code and summaries, on its surface = it seems >> to be a simpler, more generalized and more effective design than intern. >> It avoids some additional overhead that=E2=80=99s always troubled me abo= ut intern >> that I=E2=80=99ve not had the time to make good suggestions to overcome.= It looks >> (again on its surface) easier to bring to all the architectures as well. >> >> I haven=E2=80=99t tried to use the code so I can=E2=80=99t comment on it= s stability. So of course >> I can=E2=80=99t measure the differences in interrupt latencies between t= he two. Both of >> these factors would be the kind of data that would help drive the decisi= on of which >> one to adapt. >> >> Warner > > I haven't looked at Svata's work recently, but in general he started > with the same sources that are now in the intrng branch and finished > work I was in the middle of (redoing IPI stuff) when I had to set it > aside. Based on other work done recently by Svata and Michal, I can > only imagine that they've improved on Jakub's and my earlier effort. > > My main concern for importing anything (Svata's version or the current > intrng branch) is for the Marvell code. It's the one that's a bit > different than other modern arm systems, for example it's the reason we > had the somewhat strange design for handling IPIs in the current code. > Unfortunately, I think none of us have hardare for testing except the > folks at Semihalf. > > -- Ian > We have looked at Marvell code before and think that all the strange design for handling IPIs in the current code could be moved to interrupt controller where it should be. It's the way we go. To not put internal things of any controller to framework and to not dictate various hacks done for one controller to others. Svata