From owner-freebsd-arm@freebsd.org Fri Sep 29 00:56:51 2017 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D063BE10B84 for ; Fri, 29 Sep 2017 00:56:51 +0000 (UTC) (envelope-from guyyur@gmail.com) Received: from mail-wr0-x22a.google.com (mail-wr0-x22a.google.com [IPv6:2a00:1450:400c:c0c::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6386174020; Fri, 29 Sep 2017 00:56:51 +0000 (UTC) (envelope-from guyyur@gmail.com) Received: by mail-wr0-x22a.google.com with SMTP id m18so5604775wrm.2; Thu, 28 Sep 2017 17:56:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=rj/ZuT6rRUqkCi64K7g6cOQC3JoNu26m/U7gOJbqdH8=; b=XnxeJLwvXiSc6lFAcQ/k5oQp+Rx3FQu9aJncsGDs5ShiLuXSVVukSM7LFk1g7clUzw G3RZYCA9+rA716kvPspRJOywCgJz++10rdPRdwRBCsRS+44aw2P43gKDh7HL6Mwj/hNy SB66UV1zaHFPmInQ5qt9wq6bHP4+qfYWckU3UaMlOjmMM3x1v5vRx+hqbhdQ+6Y3Cu13 yGCiuiZH46+SXb7UZPbXVdA4P2FM2gBW6njGieMHXX7qSWLjRG3rZ+rYtl00dcQJYdf6 NNnCEKyp3Ipj4d7nKOSV2bb/9DRd7Lw4gcgN4vEyLi0SGZQffA6woU5hVz739fKihtVf xcSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=rj/ZuT6rRUqkCi64K7g6cOQC3JoNu26m/U7gOJbqdH8=; b=qSUOq0P41TI3WbsUA/IjK8jHXl7Ox/4QN5JY17YBjPzxfm1otBSNFMGPGX3XrlZc3Q Jn33pwN4KyDuj80P6cXmYqobG+WfkVPChba0ks/+g4mmLC7qELx/WL/NpdQ50zoLvChn 9a/iHeHBcadvpIw0o8akFcjW3KZ0HoFKJpX3mVVVSCojKU1MMwpFBlmefka+eYW3A2XQ XRHygAtjfXq9jhfrMQDrt9h47NJTfM8sfo7v9321iBKOYlHrYBdy1hXVFN5PcCo5svUV s7Smw6h7zEGBPfCGGyArq8w7lsx9bpJpfO9lAAEdE5/3X/TgSKPQRWoItdp4DSVW6Lq/ P5QQ== X-Gm-Message-State: AHPjjUgwnALjqGCH09mFI92TIWV8u3CiyT/SRX4ySNmwedu/xZkWoniv q7GTu5i3RIjSfz9H3YzZ30FIe6dxBnp1IAebD796Wnau X-Google-Smtp-Source: AOwi7QBHkR9tlujqVO7R8+z2DfZGPulkSUGDk9mvG2xHT6iXUB37NbNRl2JxxI6tdcOteqHxeSekX/zCUiHORQkceaA= X-Received: by 10.223.164.206 with SMTP id h14mr5719743wrb.25.1506646609282; Thu, 28 Sep 2017 17:56:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.238.142 with HTTP; Thu, 28 Sep 2017 17:56:48 -0700 (PDT) In-Reply-To: <8cd473c06a33c360db774a428a030833@megadrive.org> References: <20170928011129.GC86601@home.opsec.eu> <1506561886.31939.16.camel@freebsd.org> <20170928105724.b76168c5065ebb388b056f51@bidouilliste.com> <8cd473c06a33c360db774a428a030833@megadrive.org> From: Guy Yur Date: Fri, 29 Sep 2017 03:56:48 +0300 Message-ID: Subject: Re: if_awg fixes To: Emmanuel Vadot Cc: Ian Lepore , Kurt Jaeger , freebsd-arm Content-Type: text/plain; charset="UTF-8" X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Sep 2017 00:56:51 -0000 On 28 September 2017 at 22:13, Emmanuel Vadot wrote: > On 2017-09-28 21:10, Guy Yur wrote: >> >> Hi, >> >> I created a phabricator account and four diffs. >> >> https://reviews.freebsd.org/D12535 >> https://reviews.freebsd.org/D12536 >> https://reviews.freebsd.org/D12537 >> https://reviews.freebsd.org/D12538 >> >> ... >> >> Thanks, >> Guy > > > Thanks a lot, I will not have time to look at them before next week. Will > probably look at them on monday. > > > -- > Emmanuel Vadot Thanks. I updated D12537. It appears that tx interrupt should only be requested on the last segment otherwise the card won't issue it. In a scenario where every 64th frame is not the last segment of a frame there will never be a tx interrupt triggered. My changes included only doing tx drain on TX_INT while original code also drains on TX_BUF_UA_INT. So no TX_INTs issued lead to full queue never clearing. Without my changes tx queue won't be stuck but drain will need to run on the full queue in the above scenario not just the last 64 buffers. if_vr has the same behavior of setting the flag only on last segment. Seems stable so far with ssh on constant output loop. Also added review for draining tx buffers and clearing rx buffers on stop. https://reviews.freebsd.org/D12539 -- Guy