[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKzfze9KYOSzZxGz6PVb3xLeUN_0vYYVee4Y9HUgrz9iocxDkQ@mail.gmail.com>
Date: Wed, 31 Aug 2016 13:43:29 -0700
From: Matt Ranostay <mranostay@...il.com>
To: "Pandruvada, Srinivas" <srinivas.pandruvada@...el.com>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux@...encehorizons.net" <linux@...encehorizons.net>,
"linux-iio@...r.kernel.org" <linux-iio@...r.kernel.org>,
"jic23@...nel.org" <jic23@...nel.org>,
"hadess@...ess.net" <hadess@...ess.net>
Subject: Re: screen rotation flipped in 4.8-rc
On Wed, Aug 31, 2016 at 1:29 PM, Pandruvada, Srinivas
<srinivas.pandruvada@...el.com> wrote:
> On Wed, 2016-08-31 at 13:24 -0700, Matt Ranostay wrote:
>> On Wed, Aug 31, 2016 at 1:18 PM, Pandruvada, Srinivas
>> <srinivas.pandruvada@...el.com> wrote:
>> >
>> > On Tue, 2016-08-30 at 17:41 -0700, Matt Ranostay wrote:
>> > >
>> > > On Tue, Aug 30, 2016 at 3:42 PM, Pandruvada, Srinivas
>> > > <srinivas.pandruvada@...el.com> wrote:
>> > > >
>> > > >
>> > > > Hi All,
>> > > >
>> > > > I observed that using iio-sensor-proxy.service, the auto screen
>> > > > rotation flipped on my laptop (Normal -> vertical, vertical-
>> > > > >
>> > > > > normal)
>> > > > using kernel v4.8.
>> > > >
>> > > > Anyone else has seen this?
>> > > >
>> > > > I did a bisect and found a commit, which I am not sure how can
>> > > > it
>> > > > impact.
>> > > Could you post the results of CONFIG_TEST_HASH enabled?
>> > Attached dmesg.txt with the CONFIG_TEST_HASH=y.
>> >
>> > I see
>> > [ 4.276138] test_hash: __hash_32() has no arch implementation to
>> > test.
>> > [ 4.276138] test_hash: hash_32() has no arch implementation to
>> > test.
>> > [ 4.276139] test_hash: hash_64() has no arch implementation to
>> > test.
>> > [ 4.276141] test_hash: 33152 tests passed.
>> >
>> Ok have you tested with that patchset reverted? And if so does the
>> regression disappear?
> Yes, but not after adding CONFIG_TEST_HASH=y.
> regression disappears.
>
>> I would highly doubt if it was a issue with that dcache patchsets it
>> wouldn't be breaking a ton of things.
> I also think that.
Only thing I could suspect is a toolchain bug.. Have crazy idea for
you to try below..
>From the patchset notice the return doesn't cast the result to
(unsigned int) as before. But __hash_32_generic is "static inline
u32", and maybe the end_name_hash is returning the whole result as a
64-bit unsigned long rather than 32-bit unsigned int.
....
static inline unsigned long end_name_hash(unsigned long hash)
{
- return (unsigned int)hash;
+ return __hash_32((unsigned int)hash);
}
....
Just a theory.. Could totally be wrong :).
>
> Thanks,
> Srinivas
>
>>
>> >
>> > Thanks,
>> > Srinivas
>> > >
>> > >
>> > > Thanks,
>> > >
>> > > Matt
>> > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > commit 703b5faf22fbddf984a361e6555f3a03fdba63d9
>> > > > Author: George Spelvin <linux@...encehorizons.net>
>> > > > Date: Fri Jun 10 00:22:12 2016 -0400
>> > > >
>> > > > fs/dcache.c: Save one 32-bit multiply in dcache lookup
>> > > >
>> > > > Noe that we're mixing in the parent pointer earlier, we
>> > > > don't need to use hash_32() to mix its bits. Instead, we
>> > > > can
>> > > > just take the msbits of the hash value directly.
>> > > >
>> > > > For those applications which use the partial_name_hash(),
>> > > > move the multiply to end_name_hash.
>> > > >
>> > > > Signed-off-by: George Spelvin <linux@...encehorizons.net>
>> > > > Signed-off-by: Linus Torvalds <torvalds@...ux-foundation.or
>> > > > g>
>> > > >
>> > > >
>> > > > Thanks,
>> > > > Srinivas
Powered by blists - more mailing lists