public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Joe Perches <joe@perches.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: David Miller <davem@davemloft.net>,
	raghavendra.kt@linux.vnet.ibm.com, edumazet@google.com,
	kuznet@ms2.inr.ac.ru, jmorris@namei.org, yoshfuji@linux-ipv6.org,
	kaber@trash.net, jiri@resnulli.us, hannes@stressinduktion.org,
	tom@herbertland.com, azhou@nicira.com, ebiederm@xmission.com,
	ipm@chirality.org.uk, nicolas.dichtel@6wind.com,
	serge.hallyn@canonical.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, anton@au1.ibm.com,
	nacc@linux.vnet.ibm.com, srikar@linux.vnet.ibm.com
Subject: Re: [PATCH RFC V2 2/2] net: Optimize snmp stat aggregation by walking all the percpu data at once
Date: Fri, 28 Aug 2015 16:12:57 -0700	[thread overview]
Message-ID: <1440803577.11525.182.camel@perches.com> (raw)
In-Reply-To: <1440800980.8932.66.camel@edumazet-glaptop2.roam.corp.google.com>

On Fri, 2015-08-28 at 15:29 -0700, Eric Dumazet wrote:
> On Fri, 2015-08-28 at 14:26 -0700, Joe Perches wrote:
> 1) u64 array[XX] on stack is naturally aligned,

Of course it is.

> kzalloc() wont improve this at all. Not sure what you believe.

An alloc would only reduce stack use.

Copying into the buffer, then copying the buffer into the
skb may be desirable on some arches though.

> 2) put_unaligned() is basically a normal memory write on x86.
>  memcpy(dst,src,...) will have a problem anyway on arches that care,
> because src & dst wont have same alignment.

OK, so all the world's an x86?

On arm32, copying 288 bytes using nearly all aligned word
transfers is generally faster than using only unsigned
short transfers.

> 288 bytes on stack in a leaf function in this path is totally fine, it
> is not like we're calling ext4/xfs/nfs code after this point.

Generally true.  It's always difficult to know how much
stack has been consumed though and smaller stack frames
are generally better.

Anyway, the block copy from either the alloc'd or stack
buffer amounts only to a slight performance improvement
for arm32.  It doesn't really have much other utility.



  reply	other threads:[~2015-08-28 23:13 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-26 17:37 [PATCH RFC V2 0/2] Optimize the snmp stat aggregation for large cpus Raghavendra K T
2015-08-26 17:37 ` [PATCH RFC V2 1/2] net: Introduce helper functions to get the per cpu data Raghavendra K T
2015-08-26 17:37 ` [PATCH RFC V2 2/2] net: Optimize snmp stat aggregation by walking all the percpu data at once Raghavendra K T
2015-08-27 18:38   ` David Miller
2015-08-28  6:39     ` Raghavendra K T
2015-08-28 18:24       ` David Miller
2015-08-28 19:20         ` Joe Perches
2015-08-28 20:33           ` Eric Dumazet
2015-08-28 20:53             ` Joe Perches
2015-08-28 20:55               ` Eric Dumazet
2015-08-28 21:09                 ` Joe Perches
2015-08-28 21:14                   ` Eric Dumazet
2015-08-28 21:26                     ` Joe Perches
2015-08-28 22:29                       ` Eric Dumazet
2015-08-28 23:12                         ` Joe Perches [this message]
2015-08-29  0:06                           ` Eric Dumazet
2015-08-29  0:35                             ` Joe Perches
2015-08-29  0:59                               ` Eric Dumazet
2015-08-29  2:57         ` Raghavendra K T
2015-08-29  3:26           ` Eric Dumazet
2015-08-29  7:52             ` Raghavendra K T
2015-08-29  5:11           ` David Miller
2015-08-29  7:53             ` Raghavendra K T

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=1440803577.11525.182.camel@perches.com \
    --to=joe@perches.com \
    --cc=anton@au1.ibm.com \
    --cc=azhou@nicira.com \
    --cc=davem@davemloft.net \
    --cc=ebiederm@xmission.com \
    --cc=edumazet@google.com \
    --cc=eric.dumazet@gmail.com \
    --cc=hannes@stressinduktion.org \
    --cc=ipm@chirality.org.uk \
    --cc=jiri@resnulli.us \
    --cc=jmorris@namei.org \
    --cc=kaber@trash.net \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nacc@linux.vnet.ibm.com \
    --cc=netdev@vger.kernel.org \
    --cc=nicolas.dichtel@6wind.com \
    --cc=raghavendra.kt@linux.vnet.ibm.com \
    --cc=serge.hallyn@canonical.com \
    --cc=srikar@linux.vnet.ibm.com \
    --cc=tom@herbertland.com \
    --cc=yoshfuji@linux-ipv6.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