From: Ian Molton <ian.molton@collabora.co.uk>
To: Matt Mackall <mpm@selenic.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] hw_random: core updates to allow more efficient drivers
Date: Tue, 01 Dec 2009 09:18:49 +0000 [thread overview]
Message-ID: <4B14DF79.8010908@collabora.co.uk> (raw)
In-Reply-To: <1259606656.29740.48.camel@calx>
Matt Mackall wrote:
> On Mon, 2009-11-30 at 10:28 +0000, Ian Molton wrote:
>> Rusty Russell wrote:
>>
>>> And might as well just #defube RNG_BUFFSIZE SMP_CACHE_BYTES (or use
>>> SMP_CACHE_BYTES here and sizeof() elsewhere).
>> This can lead to a rather small (4 byte) buffer on some systems, however
>> I don't know if in practice a tiny buffer or a big one would be better
>> for performance on those machines. I guess if its a problem someone can
>> patch the code to allocate a minimum of (say) 16 bytes in future...
>
> Hmmm, I think this was bad advice from Rusty.
Not entirely...
> The goal is to size and align the buffer so that we know it will always
> work. Thus 64 bytes (always big enough but not so big that anyone will
> complain) and cache aligned (makes stupid things like Via Padlock happy
> -on Vias-).
yep. Although making it the size of a cacheline makes sense on /most/
modern architectures - 32 bytes is a very common size - I think the
(current) worst case is one of the drivers wants to dump 3 u64s in one
go. virtio-rng will take what it can...
> Rusty's suggestion could easily have us in trouble if some driver wants
> to hand us a mere 64 bits on an architecture with 4-byte cache alignment
> but is otherwise perfectly happy with 64-bit stores.
How about SNP_CACHE_BYTES or if less, then 32 bytes minimum? Or just
stick with 64 bytes. Either way works for me.
-Ian
next prev parent reply other threads:[~2009-12-01 9:19 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4B080621.5000109@collabora.co.uk>
[not found] ` <4B0C18B0.2000206@collabora.co.uk>
[not found] ` <1259084901.17871.624.camel@calx>
[not found] ` <200911251135.41871.rusty@rustcorp.com.au>
[not found] ` <4B0D03FC.40406@collabora.co.uk>
2009-11-25 19:27 ` hw_random fixes Matt Mackall
2009-11-25 20:43 ` Ian Molton
2009-11-26 0:25 ` Ian Molton
2009-11-26 0:25 ` [PATCH 1/2] hw_random: core updates to allow more efficient drivers Ian Molton
2009-11-26 0:25 ` [PATCH 2/2] virtio: Convert virtio-rng to the new API Ian Molton
2009-11-28 10:00 ` Rusty Russell
2009-11-30 9:55 ` Ian Molton
2009-11-26 1:03 ` [PATCH 1/2] hw_random: core updates to allow more efficient drivers Matt Mackall
2009-11-26 10:49 ` Ian Molton
2009-11-26 10:49 ` [PATCH 1/2] hw_random: core updates to allow more efficient drivers Ian Molton
2009-11-26 11:38 ` Matt Mackall
2009-11-26 11:48 ` Re: Ian Molton
2009-11-27 22:54 ` Re: Matt Mackall
2009-11-28 0:51 ` rng updates Ian Molton
2009-11-28 10:05 ` [PATCH 1/2] hw_random: core updates to allow more efficient drivers Rusty Russell
2009-11-30 10:28 ` Ian Molton
2009-11-30 18:44 ` Matt Mackall
2009-12-01 3:08 ` Rusty Russell
2009-12-01 9:23 ` Ian Molton
2009-12-01 9:18 ` Ian Molton [this message]
2009-11-26 3:12 ` Jeff Garzik
2009-11-26 0:44 ` Ian Molton
2009-11-26 0:44 ` [PATCH 1/2] hw_random: core updates to allow more efficient drivers Ian Molton
2009-11-26 0:44 ` [PATCH 2/2] virtio: Convert virtio-rng to the new API Ian Molton
2009-11-30 10:38 ` hw_random update Ian Molton
2009-11-30 10:38 ` [PATCH 1/2] hw_random: core updates to allow more efficient drivers Ian Molton
2009-11-30 10:38 ` [PATCH 2/2] virtio: Convert virtio-rng to the new API Ian Molton
2009-12-01 7:27 ` Herbert Xu
2009-12-01 9:29 ` Ian Molton
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=4B14DF79.8010908@collabora.co.uk \
--to=ian.molton@collabora.co.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=mpm@selenic.com \
--cc=rusty@rustcorp.com.au \
/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
Powered by JetHome