From owner-freebsd-current@FreeBSD.ORG Tue Sep 27 03:25:59 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0BB3D106564A; Tue, 27 Sep 2011 03:25:59 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by mx1.freebsd.org (Postfix) with ESMTP id 995C58FC08; Tue, 27 Sep 2011 03:25:58 +0000 (UTC) Received: by yxk36 with SMTP id 36so6225115yxk.13 for ; Mon, 26 Sep 2011 20:25:58 -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=rBUeSqRMHGxLZKhindBtxE3rFDY6YnQm6RtQJkMVI0o=; b=ATdsQweop0o4N8AgpHDxAlrvffeUEdLsLH56h0WByUM5UokgxFRdylu9J4plUD8JGe zJZMpXY8nMwp1m4XfVuUxqPyI2+pK1avvv1IMaf/LbSgJ50+xYGgDPOnvB8/81eyKA2y Jtb0NZvW07yQN3C4gmLe2XfU4MMmZgIcZcSgc= MIME-Version: 1.0 Received: by 10.236.79.72 with SMTP id h48mr45594841yhe.4.1317093957938; Mon, 26 Sep 2011 20:25:57 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.236.111.42 with HTTP; Mon, 26 Sep 2011 20:25:57 -0700 (PDT) In-Reply-To: References: <201109261053.30410.jhb@freebsd.org> <201109261305.57602.jhb@freebsd.org> Date: Tue, 27 Sep 2011 11:25:57 +0800 X-Google-Sender-Auth: eRZVNouj3v9pUFYBlcfI3FVYxL0 Message-ID: From: Adrian Chadd To: John Baldwin Content-Type: text/plain; charset=ISO-8859-1 Cc: Alexander Motin , freebsd-current@freebsd.org Subject: Re: ath / 802.11n performance issues and timer code X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Sep 2011 03:25:59 -0000 .. erm, sys/mips/mips/machdep.c: /* * call platform specific code to halt (until next interrupt) for the idle loop */ void cpu_idle(int busy) { KASSERT((mips_rd_status() & MIPS_SR_INT_IE) != 0, ("interrupts disabled in idle process.")); KASSERT((mips_rd_status() & MIPS_INT_MASK) != 0, ("all interrupts masked in idle process.")); if (!busy) { critical_enter(); cpu_idleclock(); } __asm __volatile ("wait"); if (!busy) { cpu_activeclock(); critical_exit(); } } .. does that look right? Adrian