From owner-freebsd-net@FreeBSD.ORG Fri Jan 18 20:07:43 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A8B61954; Fri, 18 Jan 2013 20:07:43 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-wg0-f46.google.com (mail-wg0-f46.google.com [74.125.82.46]) by mx1.freebsd.org (Postfix) with ESMTP id 21976322; Fri, 18 Jan 2013 20:07:42 +0000 (UTC) Received: by mail-wg0-f46.google.com with SMTP id dr13so2370425wgb.13 for ; Fri, 18 Jan 2013 12:07:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=2sjUbGAgrB50oE0l2dMEJHPHNzOr++/nA/Ft88wMWIo=; b=cK90R2n55XyM6Ux9W45TphBFRIAS+q/J4UP6P7C4ufkT/qGOp02XBnbM9Ddvx5iKwU Ro5W1Em3Fqg24Swsx0iSY6trX4It4AzSNv0XGghQztxsoFC2ByXQQVP8e6JYlnE7ZYS8 fXm8iYD4Zsi49yDdINQ8ayNVFm7cIYtiQLn0EFkFpp5pHY6IeuY6ZuLNjLh82K7JzPM7 u93AqRYN9bVRz6y1S5stMb6v+DxNljCMBW23dU1xOCWj4Hbjn8nONpcCuHFNKsH1QiOW wrGRwkuv1D2MSNlHyuucHCceSJNqsyWn2HJU84dawI0PSM/coTSx/gmnkw/4Bw+0Xwxb xZng== MIME-Version: 1.0 X-Received: by 10.180.72.146 with SMTP id d18mr5424545wiv.33.1358539655757; Fri, 18 Jan 2013 12:07:35 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.217.57.9 with HTTP; Fri, 18 Jan 2013 12:07:35 -0800 (PST) In-Reply-To: <201301181149.42277.jhb@freebsd.org> References: <1358519440.88044.YahooMailClassic@web121605.mail.ne1.yahoo.com> <201301181149.42277.jhb@freebsd.org> Date: Fri, 18 Jan 2013 12:07:35 -0800 X-Google-Sender-Auth: uXPOTbLB-jQ7r1T39p32fRKvnMU Message-ID: Subject: Re: two problems in dev/e1000/if_lem.c::lem_handle_rxtx() From: Adrian Chadd To: John Baldwin Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-net@freebsd.org, Luigi Rizzo , Barney Cordoba X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jan 2013 20:07:43 -0000 For my purposes, rescheduling the taskqueue means that other things (such as TX, reset processing, other state handling, etc) can run before the next pass at RX completion. Also, IIRC, acquiring mutexes are one of those magic points where the scheduler may decide to switch things around in a preemption kernel. Adrian