[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150401075325.GV27490@worktop.programming.kicks-ass.net>
Date: Wed, 1 Apr 2015 09:53:25 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Waiman Long <Waiman.Long@...com>
Cc: Ingo Molnar <mingo@...hat.com>, linux-kernel@...r.kernel.org,
Shuah Khan <shuahkh@....samsung.com>,
Scott J Norton <scott.norton@...com>,
Douglas Hatch <doug.hatch@...com>
Subject: Re: [PATCH] lfsr: a simple binary Galois linear feedback shift
register
On Tue, Mar 31, 2015 at 01:28:09PM -0400, Waiman Long wrote:
> +static __always_inline u32 lfsr_taps(int bits)
> +static inline u32 lfsr(u32 val, int bits)
> +{
> + u32 bit = val & 1;
> +
> + /*
> + * LFSR doesn't work with a start state of 0, so force it to a
> + * non-zero value (bits) as the next state.
> + */
> + if (val == 0)
> + return bits;
Arguably this should be a debug/warn instead of a silent modification.
> + val >>= 1;
> + if (bit)
> + val ^= lfsr_taps(bits);
> + return val;
> +}
I was also thinking that if we modify the hash to be dynamically signed
we cannot use the compile time tap selection and need to change the
interface slightly.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists