> > only now test that it does not on my local box :)
> The patch still causes access to all cpu's cachelines on each userret.
> It would be much better to inc/check the threshold and only schedule the
> call when exceeded. Then the call can occur in some dedicated context,
> l
No. The goal is to run on every return to userspace for every thread.
Drew
On Mon, Mar 18, 2024, at 3:41 PM, Konstantin Belousov wrote:
> On Mon, Mar 18, 2024 at 03:13:11PM -0400, Drew Gallatin wrote:
> > I got the idea from
> > https://people.mpi-sws.org/~druschel/publicati
I got the idea from
https://people.mpi-sws.org/~druschel/publications/soft-timers-tocs.pdf The
gist is that the TCP pacing stuff needs to run frequently, and rather than run
it out of a clock interrupt, its more efficient to run it out of a system call
context at just the point where we return
Resending with the patch as an attachment.
Drew
On Sun, Mar 17, 2024, at 11:39 AM, Drew Gallatin wrote:
> I don't have the full context, but it seems like the complaint is a
> performance regression in bonnie++ and perhaps other things when tcp_hpts is
> loaded, even when it is
I don't have the full context, but it seems like the complaint is a performance
regression in bonnie++ and perhaps other things when tcp_hpts is loaded, even
when it is not used. Is that correct?
If so, I suspect its because we drive the tcp_hpts_softclock() routine from
userret(), in order to
On Fri, Feb 2, 2024, at 9:05 PM, Rick Macklem wrote:
> > But the page size is only 4K on most platforms. So while an M_EXTPGS mbuf
> > can hold 5 pages (..from memory, too lazy to do the math right now) and
> > reduces socket buffer mbuf chain lengths by a factor of 10 or so (2k vs 20k
> > pe
On Fri, Feb 2, 2024, at 6:13 PM, Rick Macklem wrote:
> A factor here is the if_hw_tsomaxsegcount limit. For example, a 1Mbyte NFS
> write request
> or read reply will result in a 514 element mbuf chain. Each of these (mostly
> 2K mbuf clusters)
> are non-contiguous data segments. (I suspect mo
What is the link speed that you're working with?
A long time ago, when I worked for a now-defunct 10GbE NIC vendor, I
experimented with the benefits of TSO as we varied the max TSO size. I cannot
recall the platform (it could have been OSX, Solaris, FreeBSD or Linux). At
the time (~2006?) th