Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 May 2014 01:51:12 +1000 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no>
Cc:        Ryan Stone <rysto32@gmail.com>, "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject:   Re: RFC: PCI SR-IOV Driver interface
Message-ID:  <20140509013938.H3451@besplex.bde.org>
In-Reply-To: <86r444wl9q.fsf@nine.des.no>
References:  <CAFMmRNyDpLuxqJVC%2Bwdm856E0Abx4XrOZyR9iB7g2dvDeX4BMQ@mail.gmail.com> <20140507141652.K1349@besplex.bde.org> <86r444wl9q.fsf@nine.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help

On Thu, 8 May 2014, [utf-8] Dag-Erling Smørgrav wrote:

> Bruce Evans <brde@optusnet.com.au> writes:
>> Hrmph.  style(9) explicitly forbids typedefs like nvlist_t.
>
> ...as does C, which reserves *_t, IIRC.  Although I'm guilty of abusing
> that namespace myself.

No, _t is not reserved in C, and is reserved for the implementation in
POSIX.  nv is an implementation.  style(9) says not to use _t for
typedefs, but that is for applications.  Kernel code can be considered
as both an implementation and an application.  I normally consider it
as an application, but wouldn't want to disallow using _t in it.

Bruce
From owner-freebsd-arch@FreeBSD.ORG  Fri May  9 03:43:41 2014
Return-Path: <owner-freebsd-arch@FreeBSD.ORG>
Delivered-To: freebsd-arch@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 48BCB156;
 Fri,  9 May 2014 03:43:41 +0000 (UTC)
Received: from mail-qg0-x22a.google.com (mail-qg0-x22a.google.com
 [IPv6:2607:f8b0:400d:c04::22a])
 (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 C9E2FBAE;
 Fri,  9 May 2014 03:43:40 +0000 (UTC)
Received: by mail-qg0-f42.google.com with SMTP id q107so3956682qgd.1
 for <multiple recipients>; Thu, 08 May 2014 20:43:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s 120113;
 h=mime-version:sender:in-reply-to:references:date:message-id:subject
 :from:to:cc:content-type;
 bh=ATMJLviVwmwdf45KoU4fojsPVik27wgy2hx46+60Obk=;
 bÑvp0gGXFhdI7ZbFC8yUVaj4wrEKfeVJkOpRFLiF3YJZjLk+7IhrOEZg2bMbSt+uUc
 /Et1o/sy0BVM6CKmeUyDJfxfyhXP9EKs+usogHnL50Md4+cWy252POZHXPqpRvNR+y/S
 gCc4ispm8b6U8ciBw8AparMJiD0Ei8DDAE6fFw/1+XWI7gf87wVVFu2kQ2V8+0dm/ZL6
 xypXhCkx9YMHDMW4G1wPjExGAJ/yCJN5e+4xqDT3bX9uKV428XrCkHjQ6O2IiV0AgHJx
 u5FWUAWf67cXclCh/ueshs+CsQEHrQmGR4uLiQNbWaefL8h90uj+YsgKSjJQ82MGAO6S
 2A1Q=MIME-Version: 1.0
X-Received: by 10.140.96.51 with SMTP id j48mr10396376qge.24.1399607020007;
 Thu, 08 May 2014 20:43:40 -0700 (PDT)
Sender: adrian.chadd@gmail.com
Received: by 10.224.191.201 with HTTP; Thu, 8 May 2014 20:43:39 -0700 (PDT)
In-Reply-To: <CAJ-VmonUiSeCxnbYcjtWZ8uxa0c2ys5Za_GMLQenwu8zmEuFpQ@mail.gmail.com>
References: <530508B7.7060102@FreeBSD.org>
 <CAJ-Vmo=KFF_2tdyq1u=jNkWfEe1sR-89t3JNggf7MEvYsF+tQg@mail.gmail.com>
 <201402191602.54465.jhb@freebsd.org>
 <201402201417.34148.jhb@freebsd.org>
 <CAJ-VmonUiSeCxnbYcjtWZ8uxa0c2ys5Za_GMLQenwu8zmEuFpQ@mail.gmail.com>
Date: Thu, 8 May 2014 20:43:39 -0700
X-Google-Sender-Auth: hSGWD_R_1S6yPq0xpmFKcVndWRI
Message-ID: <CAJ-VmonmrB7Z-PKH7P1DOJjSvFD_nRHqaiFJUuwvHoTUtiEVoQ@mail.gmail.com>
Subject: Re: [rfc] bind per-cpu timeout threads to each CPU
From: Adrian Chadd <adrian@freebsd.org>
To: John Baldwin <jhb@freebsd.org>
Content-Type: text/plain; charset=UTF-8
Cc: Alexander Motin <mav@freebsd.org>,
 freebsd-current <freebsd-current@freebsd.org>,
 "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
X-BeenThere: freebsd-arch@freebsd.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Discussion related to FreeBSD architecture <freebsd-arch.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-arch>,
 <mailto:freebsd-arch-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-arch/>;
List-Post: <mailto:freebsd-arch@freebsd.org>
List-Help: <mailto:freebsd-arch-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-arch>,
 <mailto:freebsd-arch-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 09 May 2014 03:43:41 -0000

Hi,

I'd like to revisit this now.

I'd like to commit this stuff as-is and then take some time to revisit
the catch-all softclock from cpu0 swi. It's more complicated than it
needs to be as it just assumes timeout_cpu == cpuid of cpu 0. So
there's no easy way to slide in a new catch-all softclock.

Once that's done I'd like to then experiment with turning on the pcpu
tcp timer stuff and gluing that into the RSS CPU ID / netisr ID stuff.

Thanks,

-a


On 20 February 2014 13:48, Adrian Chadd <adrian@freebsd.org> wrote:
> On 20 February 2014 11:17, John Baldwin <jhb@freebsd.org> wrote:
>
>> (A further variant of this would be to divorce cpu0's swi from the
>> catch-all softclock and let the catch-all softclock float, but bind
>> all the per-cpu swis)
>
> I like this idea. If something (eg per-CPU TCP timers, if it's turned
> on) makes a very specific decision about the CPU then it should be
> fixed. Otherwise a lot of the underlying assumptions for things like
> RSS just aren't guaranteed to hold.
>
> It could also perhaps extend to some abstract pool of CPUs later, if
> we wanted to do things like one flowing swi per socket or whatnot when
> we start booting on 1024 core boxes...
>
> -a



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140509013938.H3451>