All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hideo AOKI <haoki@redhat.com>
To: David Miller <davem@davemloft.net>, herbert@gondor.apana.org.au
Cc: Hideo AOKI <haoki@redhat.com>,
	netdev@vger.kernel.org, satoshi.oshima.fk@hitachi.com,
	andi@firstfloor.org, shemminger@linux-foundation.org,
	johnpol@2ka.mipt.ru, yoshfuji@linux-ipv6.org,
	yumiko.sugita.yf@hitachi.com
Subject: Re: [PATCH 2/5] accounting unit and variable
Date: Wed, 14 Nov 2007 18:30:51 -0500	[thread overview]
Message-ID: <473B852B.3010107@redhat.com> (raw)
In-Reply-To: <473B150A.8050208@redhat.com>

Hideo AOKI wrote:
> David Miller wrote:
>> From: Hideo AOKI <haoki@redhat.com>
>> Date: Tue, 13 Nov 2007 22:27:13 -0500
>>
>>> Herbert Xu wrote:
>>>> On Mon, Oct 29, 2007 at 05:23:10PM -0400, Hideo AOKI wrote:
>>>>>  
>>>>> +#define SK_DATAGRAM_MEM_QUANTUM ((int)PAGE_SIZE)
>>>>> +
>>>>> +static inline int sk_datagram_pages(int amt)
>>>>> +{
>>>>> +    return DIV_ROUND_UP(amt, SK_DATAGRAM_MEM_QUANTUM);
>>>>> +}
>>>> Does this really have to be int? Unsigned would let the compiler
>>>> optimise this to a simple shift.
>>> Thank you for the comment.
>>>
>>> This inline function is used to calculate the first argument of 
>>> atomic_add()
>>> and atomic_sub(). Since the argument is int, I believe that using int is
>>> better than using unsigned int.
>>
>> If you know the values will always be positive, as you will know here,
>> it is OK to us unsigned int here and avoids the unacceptable expensive
>> divide instruction.
>>
>> Please fix this.
> 
> Thanks for your comments. I finally understood.
> 
> I'll fix it and resubmit the patch as soon as possible.

Let me propose the following code to use a shift instruction instead
of a divide instruction. I confirmed that the code could remove a
divide instruction, however, I would like to have comment on this
implementation.

+#define SK_DATAGRAM_MEM_QUANTUM ((unsigned int)PAGE_SIZE)
+
+static inline int sk_datagram_pages(int amt)
+{
+	/* Cast to unsigned as an optimization, since amt is always positive. */
+	return DIV_ROUND_UP((unsigned int)amt, SK_DATAGRAM_MEM_QUANTUM);
+}
+

Please let me know if there is proper coding style.

I'm re-testing the whole patch set right now. If there is no problem,
I'll resubmit new patch set, which includes this fix, tomorrow.

Many thanks,
Hideo

-- 
Hitachi Computer Products (America) Inc.

  reply	other threads:[~2007-11-14 23:34 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-29 21:18 [PATCH 0/5] UDP memory accounting and limitation (take 6) Hideo AOKI
2007-10-29 21:22 ` [PATCH 1/5] fix send buffer check Hideo AOKI
2007-11-09 12:24   ` Herbert Xu
2007-11-14  3:25     ` Hideo AOKI
2007-10-29 21:23 ` [PATCH 2/5] accounting unit and variable Hideo AOKI
2007-11-09 12:34   ` Herbert Xu
2007-11-14  3:27     ` Hideo AOKI
2007-11-14  3:45       ` Herbert Xu
2007-11-14  3:55       ` David Miller
2007-11-14 15:32         ` Hideo AOKI
2007-11-14 23:30           ` Hideo AOKI [this message]
2007-11-15  1:09             ` Herbert Xu
2007-11-15 21:37               ` Hideo AOKI
2007-10-29 21:23 ` [PATCH 3/5] memory accounting Hideo AOKI
2007-11-09 13:07   ` Herbert Xu
2007-10-29 21:23 ` [PATCH 4/5] memory limitation by using udp_mem Hideo AOKI
2007-10-29 21:23 ` [PATCH 5/5] introduce udp_rmem and udp_wmem Hideo AOKI
2007-10-30  4:52   ` Bill Fink
2007-11-02 15:42     ` Hideo AOKI
  -- strict thread matches above, loose matches on Subject: below --
2007-11-14  2:39 [PATCH 0/5] UDP memory accounting and limitation (take 7) Hideo AOKI
2007-11-14  2:48 ` [PATCH 2/5] accounting unit and variable Hideo AOKI

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=473B852B.3010107@redhat.com \
    --to=haoki@redhat.com \
    --cc=andi@firstfloor.org \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=johnpol@2ka.mipt.ru \
    --cc=netdev@vger.kernel.org \
    --cc=satoshi.oshima.fk@hitachi.com \
    --cc=shemminger@linux-foundation.org \
    --cc=yoshfuji@linux-ipv6.org \
    --cc=yumiko.sugita.yf@hitachi.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.