From: alexandre.montplaisir@polymtl.ca (Alexandre Montplaisir)
Subject: [ltt-dev] liburcu cache line size
Date: Tue, 17 Aug 2010 16:36:30 -0400 [thread overview]
Message-ID: <4C6AF2CE.4040000@polymtl.ca> (raw)
In-Reply-To: <20100817202717.GB22705@Krystal>
On 10-08-17 04:27 PM, Mathieu Desnoyers wrote:
> * Alexandre Montplaisir (alexandre.montplaisir at polymtl.ca) wrote:
>
>> On 10-08-17 03:54 PM, Mathieu Desnoyers wrote:
>>
> [...]
>
>>> Oh, and by the way, given that these are arrays made of one variable per
>>> cpu, the extra space allocated will not consume extra cache lines in any
>>> of the CPU. We're just wasting a bit a memory here, not adding to cache
>>> pressure.
>>>
>>> Mathieu
>>>
>> Sorry to chime in, but wouldn't padding to 128 bytes on architectures
>> with 64-byte cache lines "waste" an extra line every time, thus
>> indirectly adding to cache pressure?
>>
> A cache line is only used if the data located in that cache line is
> touched. If we only have padding in the second half of the 128 bytes,
> then the associated 64 bytes cache line is never fetched by the cpu.
>
> But reality can be a bit different when we speak of sequential accesses
> with prefetching. However, this apply well to randomly-accessed memory.
>
> Does that make sense ?
>
>
Yes, thanks for the explanation!
I see now why we *clearly* don't want the align attribute to be smaller
than the actual cache-line size.
Me and David's concerns were more about the other architectures (core2,
atom, "generic", etc., which do seem to be more common than P4 & NUMA)
where the lib is still defining 128-byte cache line sizes even though
they use 64-byte ones. Would it be worth it to have a per-architecture
definition?
Alexandre
> Thanks,
>
> Mathieu
>
>
>> (relatively newbie here, please be gentle :) )
>>
>> Alexandre
>>
>
>
next prev parent reply other threads:[~2010-08-17 20:36 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-17 18:30 David Goulet
2010-08-17 18:51 ` Mathieu Desnoyers
2010-08-17 19:06 ` David Goulet
2010-08-17 19:45 ` Mathieu Desnoyers
2010-08-17 19:54 ` Mathieu Desnoyers
2010-08-17 20:04 ` Alexandre Montplaisir
2010-08-17 20:27 ` Mathieu Desnoyers
2010-08-17 20:36 ` Alexandre Montplaisir [this message]
2010-08-17 20:53 ` Mathieu Desnoyers
2010-08-17 19:58 ` David Goulet
2010-08-17 20:24 ` Mathieu Desnoyers
2010-08-17 20:40 ` David Goulet
2010-08-17 20:51 ` Mathieu Desnoyers
2010-08-17 20:53 ` David Goulet
2010-08-17 20:55 ` Mathieu Desnoyers
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=4C6AF2CE.4040000@polymtl.ca \
--to=alexandre.montplaisir@polymtl.ca \
/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