svn commit: r242402 - in head/sys: kern vm

Attilio Rao attilio at freebsd.org
Wed Oct 31 22:55:45 UTC 2012


On Wed, Oct 31, 2012 at 8:31 PM, Andre Oppermann <andre at freebsd.org> wrote:
> On 31.10.2012 20:40, Ian Lepore wrote:
>>
>> On Thu, 2012-11-01 at 06:30 +1100, Peter Jeremy wrote:
>>>
>>> On 2012-Oct-31 18:57:37 +0000, Attilio Rao <attilio at FreeBSD.org> wrote:
>>>>
>>>> On 10/31/12, Adrian Chadd <adrian at freebsd.org> wrote:
>>>>>
>>>>> Right, but you didn't make it configurable for us embedded peeps who
>>>>> still care about memory usage.
>>>>
>>>>
>>>> How is this possible without breaking the module/kernel ABI?
>>>
>>>
>>> Memory usage may override ABI compatibility in an embedded environment.
>>>
>>>> All that assuming you can actually prove a real performance loss even
>>>> in the new cases.
>>>
>>>
>>> The issue with padding on embedded systems is memory utilisation rather
>>> than performance.
>>>
>>
>> There are potential performance hits too, in that embedded systems tend
>> to have tiny caches (16K L1 with no L2, that sort of thing), so
>> purposely padding things so that large parts of a cache line aren't used
>> for anything wastes a scarce resource.
>
>
> You can define CACHE_LINE_SIZE to 0 on those platforms.
> Or to make it even more granular there could be a CACHE_LINE_SIZE_LOCKS
> that is used for lock padding.

I think that this is a bright idea, albeit under the condition that
just like CACHE_LINE_SIZE it won't change during STABLE branches
timeframe and that it must not be dependent by SMP option.

What do you think about this patch?:
http://www.freebsd.org/~attilio/cache_line_size_locks.patch

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein


More information about the svn-src-head mailing list