Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Dec 2013 15:39:56 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Alfred Perlstein <alfred@freebsd.org>
Cc:        "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject:   Re: Default knote hash table size is too .. small
Message-ID:  <CAJ-Vmon5xBnJ%2BJHAJ%2B7LNrrKk0Rzy3SynpXc-5FLYe6Y7W9zxQ@mail.gmail.com>
In-Reply-To: <52BE0D40.5020304@freebsd.org>
References:  <CAJ-VmomteHhbNv2pLX1cma74hExbtQKhxiRd3D653abneuJwhg@mail.gmail.com> <52BE0D40.5020304@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 27 December 2013 15:29, Alfred Perlstein <alfred@freebsd.org> wrote:

> Cool!  What about auto-tune to maxfiles?

Well, ideally it'd be tunable per actual kqueue rather than a global.
That way some crazy ioctl could be done to set the knote hash size per
queue.

I'm just worried that for some people doing say, high throughput UDP
with one connected socket, it's just wasted RAM. But for mad parallel
TCP the hash has to be bigger. But then if yo'ure doing say, 30 worker
processes versus 1000 sockets each versus say, 8 worker processes
doing 4000 sockets each, you need a different hash size.

See? It's not as easy as tune to maxfiles. the only thing that is that
simple is "can we massively overspecify it." :-)

I'll do a followup at some point to allow an ioctl to set/get it on a
per-kqfd basis. Then we won't need the build limit.

Thanks,



-a



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmon5xBnJ%2BJHAJ%2B7LNrrKk0Rzy3SynpXc-5FLYe6Y7W9zxQ>