netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Neil Horman <nhorman@tuxdriver.com>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, rostedt@goodmis.org
Subject: [PATCH 0/3] net: Add ftracer to help optimize process scheduling based on incomming frame allocations (v2)
Date: Sat, 8 Aug 2009 19:13:23 -0400	[thread overview]
Message-ID: <20090808231322.GA24414@localhost.localdomain> (raw)
In-Reply-To: <20090807202130.GA26677@hmsreliant.think-freely.org>

n Fri, Aug 07, 2009 at 04:21:30PM -0400, Neil Horman wrote:
Hey all-
	I put out an RFC about this awhile ago and didn't get any loud screams,
so I've gone ahead and implemented it

	Currently, our network infrastructure allows net device drivers to
allocate skbs based on the the numa node the device itself is local to.  This of
course cuts down on cross numa chatter when the device is DMA-ing network
traffic to the driver.  Unfortuantely no such corresponding infrastrucuture
exists at the process level.  The scheduler has no insight into the numa
locality of incomming data packets for a given process (and arguably it
shouldn't), and so there is every chance that a process will run on a different
numa node than the packets that its receiving lives on, creating cross numa node
traffic.

	This patch aims to provide userspace with the opportunity to optimize
that scheduling.  It consists of a tracepoint and an ftrace module which exports
a history of the packets each process receives, along with the numa node each
packet was received on, as well as the numa node the process was running on when
it copied the buffer to user space.  With this information, exported via the
ftrace infrastructure to user space, a sysadim can identify high prirority
processes, and optimize their scheduling so that they are more likely to run on
the same node that they are primarily receiving data on, thereby cutting down
cross numa node traffic.

Tested by me, working well, applies against the head of the net-next tree


Version 2 change notes:

I noticed that I did something stupid in patch 3, and it added a duplicated
chunk which didn't apply, this new series simply removes  that, everything else
is the same


Signed-off-by: Neil Horman <nhorman@tuxdriver.com>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


  parent reply	other threads:[~2009-08-08 23:13 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-07 20:21 [PATCH 0/3] net: Add ftracer to help optimize process scheduling based on incomming frame allocations Neil Horman
2009-08-07 20:28 ` [PATCH 1/3] " Neil Horman
2009-08-07 20:30 ` [PATCH 2/3] " Neil Horman
2009-08-07 20:44 ` [PATCH 3/3] " Neil Horman
2009-08-08 23:13 ` Neil Horman [this message]
2009-08-08 23:14   ` [PATCH 1/3] net: Add ftracer to help optimize process scheduling based on incomming frame allocations (v2) Neil Horman
2009-08-08 23:15   ` [PATCH 2/3] " Neil Horman
2009-08-08 23:15   ` [PATCH 3/3] " Neil Horman
2009-08-13  5:15 ` [PATCH 0/3] net: Add ftracer to help optimize process scheduling based on incomming frame allocations David Miller
2009-08-13 10:42   ` Neil Horman
2009-08-13 14:59 ` [PATCH 0/3] net: Add ftracer to help optimize process scheduling based on incomming frame allocations (v3) Neil Horman
2009-08-13 15:19   ` [PATCH 1/3] net: skb ftracer - add tracepoint to skb_copy_datagram_iovec (v3) Neil Horman
2009-08-13 23:28     ` David Miller
2009-08-13 15:20   ` [PATCH 2/3] net: skb ftracer - Add config option to enable new ftracer (v3) Neil Horman
2009-08-13 23:28     ` David Miller
2009-08-13 15:23   ` [PATCH 3/3] net: skb ftracer - Add actual ftrace code to kernel (v3) Neil Horman
2009-08-13 23:28     ` David Miller
2009-08-17 20:55     ` Steven Rostedt
2009-08-18 16:39       ` Neil Horman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090808231322.GA24414@localhost.localdomain \
    --to=nhorman@tuxdriver.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).