From owner-svn-src-head@FreeBSD.ORG Sat Oct 1 08:50:56 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF0E81065672; Sat, 1 Oct 2011 08:50:56 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 4D60B8FC18; Sat, 1 Oct 2011 08:50:56 +0000 (UTC) Received: by vws11 with SMTP id 11so2637804vws.13 for ; Sat, 01 Oct 2011 01:50:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=j1Ow5aVxc4AG8vCbipX2HAlssnLILNYmvTH0r+tocqQ=; b=Kx2TYauz8fu9aMVpV+juOKxsDLHT4zVdZtKCArdTSCxx2ZoxSLblfvhFH/HG5PcYaM MEHJI2sHOqNU2WCL7gJWrYu/kaLPbrI8BvWs9qXvLPkIB1P1vze+PA/HG+3BoY1lW/4j 8Wsh/Q0l8/7ReTWa8p/GroQ0KQol7pswLUh5Y= MIME-Version: 1.0 Received: by 10.52.68.203 with SMTP id y11mr2901300vdt.462.1317459055567; Sat, 01 Oct 2011 01:50:55 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.52.161.138 with HTTP; Sat, 1 Oct 2011 01:50:55 -0700 (PDT) In-Reply-To: References: <201110010556.p915uQH6003016@svn.freebsd.org> Date: Sat, 1 Oct 2011 16:50:55 +0800 X-Google-Sender-Auth: rDBbFlgcRf85jmXUkq0yopvpp6g Message-ID: From: Adrian Chadd To: "Jayachandran C." Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r225892 - head/sys/mips/mips X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Oct 2011 08:50:56 -0000 On 1 October 2011 15:21, Jayachandran C. wrote: > I would like to understand this, reverting r216862 would take out the > critical_enter() and cpu_idleclock() which would keep the timer > interrupts coming is as usual, this should not affect the event timer. Because the fundamental problem still exists w/out preemption - netisr/taskqueue scheduling doesn't happen if it happens just before the wait call. I haven't verified that mav's timer stuff does the correct thing by configuring the clock timer to occur every 1000hz in this instance. I kinda hope so. If I flip on preemption, then this may be fixed, but flipping on preemption causes other issues on the single-core MIPS boards that I've used when doing high-throughput 11n NIC testing. I don't (yet) know why. In any case, I think it's worth writing per-platform/per-chip cpu_idle() functions and set it up at boot/probe time. I'll happy do it if you're happy to do the digging with XLR to ensure this is all handled accurately in that instance. I just don't have the deep MIPS clue needed to ensure this is all correct and noone really piped up to come up with a better solution. I really want to see this all work correctly. :) Adrian