Kernel 4.2

AmigaOne X1000 platform specific issues related to Linux only.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.2

Post by xeno74 »

musa wrote: Hi
I testet the latest vmlinux-git-02_July_2015 .
The kernel start booting but stop with: Kernel panic - not syncing : fatal exception in interrupt.
Same on ubuntu 15.04 ubuntu 15.10 and debian 8
OK, the problem isn't solved. Thank you for testing! :-)
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.2

Post by xeno74 »

Hi All,

I tried to figure out what is the boot problem today.

Code: Select all

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux-git
I checked out the commit before the big PCI change (Merge tag 'pci-v4.2-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci).

Code: Select all

git checkout -f 234a56c80a6aa7a05fec05d8b7184354d8765b484; git clean -fdx
(Merge tag 'hwmon-for-linus-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging)

Unfortunately the kernel doesn't boot. It seems the PCI changes aren't the problem.

Cheers,

Christian

$ git bisect start
$ git bisect good
$ git bisect bad
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.2

Post by xeno74 »

Hi,

I continued to look for the problem.

Code: Select all

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux-git
I checked out the commit before the PCI register io range modification (of/address: use atomic allocation in pci_register_io_range()).

Code: Select all

git checkout -f a2fd66d069d86d793e9d39d4079b96f46d13f237; git clean -fdx
(ext4: set lazytime on remount if MS_LAZYTIME is set by mount)

OK, this kernel boots. Maybe this modification is the problem:

Code: Select all

diff --git a/drivers/of/address.c b/drivers/of/address.c
index 78a7dcb..65c3289 100644
--- a/drivers/of/address.c
+++ b/drivers/of/address.c
@@ -712,7 +712,7 @@ int __weak pci_register_io_range(phys_addr_t addr, resource_size_t size)
     }

     /* add the range to the list */
-    range = kzalloc(sizeof(*range), GFP_KERNEL);
+    range = kzalloc(sizeof(*range), GFP_ATOMIC);
     if (!range) {
         err = -ENOMEM;
         goto end_register;
Cheers,

Christian

$ git bisect start
$ git bisect good
$ git bisect bad
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.2

Post by xeno74 »

FYI:

Code: Select all

12 days    Merge tag 'hwmon-for-linus-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-st... Linus Torvalds    11    -78/+290  <---------------------- Doesn't work
12 days    Merge tag 'mmc-v4.2' of git://git.linaro.org/people/ulf.hansson/mmc    Linus Torvalds 67    -607/+2727
12 days    Merge tag 'gpio-v4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Linus Torvalds    54    -645/+2047
12 days    Merge tag 'pwm/for-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux... Linus Torvalds    6    -26/+101
12 days    i2c: busses: i2c-bcm2835: limits cdiv to allowed values    Silvan Wicki    1    -0/+8
12 days    i2c: sh_mobile: use proper type for timeout    Wolfram Sang    1    -3/+4
12 days    i2c: sh_mobile: use adapter default for timeout Wolfram Sang    1    -1/+1
12 days    i2c: rcar: use proper type for timeout    Wolfram Sang 1    -1/+2
12 days    i2c: rcar: use adapter default for timeout    Wolfram Sang    1    -1/+1
12 days    Documentation: DT: Fix a typo in the filename "lantiq,<chip>-pinumx.txt"    Thomas Langer    2    -0/+0
12 days    of: define of_find_node_by_phandle for !CONFIG_OF Suman Anna    1    -0/+5
12 days    of/address: use atomic allocation in pci_register_io_range()    Jingoo Han    1    -1/+1
12 days    ext4: set lazytime on remount if MS_LAZYTIME is set by mount <---------------------------- Works
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.2

Post by xeno74 »

Hi All,

I compiled the RC1 of kernel 4.2 yesterday.

Unfortunately it didn't boot. I am trying to find out why it doesn't boot currently.

Just for info:

Code: Select all

12 days    Merge tag 'hwmon-for-linus-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-st... Linus Torvalds    11    -78/+290  <---------------------- Doesn't work
12 days    Merge tag 'mmc-v4.2' of git://git.linaro.org/people/ulf.hansson/mmc    Linus Torvalds 67    -607/+2727
12 days    Merge tag 'gpio-v4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Linus Torvalds    54    -645/+2047
12 days    Merge tag 'pwm/for-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux... Linus Torvalds    6    -26/+101
12 days    i2c: busses: i2c-bcm2835: limits cdiv to allowed values    Silvan Wicki    1    -0/+8
12 days    i2c: sh_mobile: use proper type for timeout    Wolfram Sang    1    -3/+4
12 days    i2c: sh_mobile: use adapter default for timeout Wolfram Sang    1    -1/+1
12 days    i2c: rcar: use proper type for timeout    Wolfram Sang 1    -1/+2
12 days    i2c: rcar: use adapter default for timeout    Wolfram Sang    1    -1/+1
12 days    Documentation: DT: Fix a typo in the filename "lantiq,<chip>-pinumx.txt"    Thomas Langer    2    -0/+0
12 days    of: define of_find_node_by_phandle for !CONFIG_OF Suman Anna    1    -0/+5
12 days    of/address: use atomic allocation in pci_register_io_range()    Jingoo Han    1    -1/+1 <------------------------------- Works
12 days    ext4: set lazytime on remount if MS_LAZYTIME is set by mount <---------------------------- Works
The pci_register_io_range() commit is not the problem. I will test more today.

Rgds,

Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.2

Post by xeno74 »

Progress:

Code: Select all

12 days    Merge tag 'hwmon-for-linus-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-st... Linus Torvalds    11    -78/+290  <---------------------- Doesn't work
12 days    Merge tag 'mmc-v4.2' of git://git.linaro.org/people/ulf.hansson/mmc    Linus Torvalds 67    -607/+2727
12 days    Merge tag 'gpio-v4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Linus Torvalds    54    -645/+2047
12 days    Merge tag 'pwm/for-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux... Linus Torvalds    6    -26/+101 <---------------------- Doesn't work
12 days    i2c: busses: i2c-bcm2835: limits cdiv to allowed values    Silvan Wicki    1    -0/+8 <--------------------- Works
12 days    i2c: sh_mobile: use proper type for timeout    Wolfram Sang    1    -3/+4
12 days    i2c: sh_mobile: use adapter default for timeout Wolfram Sang    1    -1/+1
12 days    i2c: rcar: use proper type for timeout    Wolfram Sang 1    -1/+2
12 days    i2c: rcar: use adapter default for timeout    Wolfram Sang    1    -1/+1 <-------------------------------- Works
12 days    Documentation: DT: Fix a typo in the filename "lantiq,<chip>-pinumx.txt"    Thomas Langer    2    -0/+0
12 days    of: define of_find_node_by_phandle for !CONFIG_OF Suman Anna    1    -0/+5  <------------------------------- Works
12 days    of/address: use atomic allocation in pci_register_io_range()    Jingoo Han    1    -1/+1 <------------------------------- Works
12 days    ext4: set lazytime on remount if MS_LAZYTIME is set by mount <---------------------------- Works
OK, "Merge tag 'pwm/for-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux... Linus Torvalds 6 -26/+101" is the first commit that doesn't work.

Code: Select all

author    Linus Torvalds <torvalds@linux-foundation.org> 2015-06-23 20:32:38 (GMT)
committer    Linus Torvalds <torvalds@linux-foundation.org>    2015-06-23 20:32:38 (GMT)
commit    c70c5fb2b96dae0996fb0877d996458d3ca57eda (patch)
tree    fba71d0ec85e49e703b567ff43240d3aec6961cd
parent    44d21c3f3a2ef2f58b18bda64c52c99e723f3f4a (diff)
parent    361c1066c939a88e3bb59364f47055b2a5fb3fd4 (diff)
Merge tag 'pwm/for-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
Pull pwm updates from Thierry Reding:
 "This has a couple of fixes for Atmel, Samsung and Broadcom drivers.

  Some preparatory patches for more upcoming Intel work is included as
  well"

* tag 'pwm/for-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
  pwm: lpss: pci: Add support for Broxton platform
  pwm: bcm-kona: Don't set polarity in probe
  pwm: Add pwmchip_add_with_polarity() API
  pwm: atmel: Fix incorrect CDTY value after disabling
  pwm: atmel: Fix incorrect CDTY value after enabling
  pwm: samsung: Use MODULE_DEVICE_TABLE() to include OF modalias
  pwm: Add support to remove registered consumer lookup tables
Diffstat
-rw-r--r--    drivers/pwm/core.c    40

-rw-r--r--    drivers/pwm/pwm-atmel.c    63

-rw-r--r--    drivers/pwm/pwm-bcm-kona.c    9

-rw-r--r--    drivers/pwm/pwm-lpss-pci.c    2

-rw-r--r--    drivers/pwm/pwm-samsung.c    1

-rw-r--r--    include/linux/pwm.h    12
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.2

Post by xeno74 »

Another attempt. :-) I tried to find out the bad commit via the 4.2 merge commits.

Progress:

Code: Select all

2015-06-22 09:24:19 Merge tag 'asoc-v4.2' into asoc-next 208a128f6b19eedd1819cb1b19f29dc99ca1d27e <----------- works

2015-06-22 09:32:41 Merge tag 'asoc-v4.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next 57fa8a1e22c5833fb2cae96af68fc39ec21cb017 <------------ works

2015-06-22 10:19:31 Merge tag 'asoc-v4.2' into asoc-next 89fc594ba54f0fbcc021da0c2d6916f26679bb17 <----------- works

2015-06-22 10:19:39 Merge tag 'asoc-v4.2-2' into asoc-next 25305dcf5de52fe48437c46dd4d15d1e87b9fbee <------------- works

2015-06-23 12:34:39 Merge branch 'sysfs-fsdevices-4.2-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into anand c40b7b064f6159df3a080595a498613d08206e59 <---------- works


2015-06-23 20:32:38 Merge tag 'pwm/for-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm c70c5fb2b96dae0996fb0877d996458d3ca57eda <----------------- doesn't work

2015-06-23 21:23 http://www.xenosoft.de/vmlinux-4.2-alpha1-AMIGA_one_X1000.tar.bz2 <--------------- doesn't work see http://forum.hyperion-entertainment.biz/viewtopic.php?f=35&t=3068#p34245

2015-06-25 15:09 http://www.xenosoft.de/vmlinux-4.2-alpha2-AMIGA_one_X1000.tar.bz2 <--------------- doesn't work see http://forum.hyperion-entertainment.biz/viewtopic.php?f=35&t=3068&start=10#p34267

2015-06-25 06:57 http://www.xenosoft.de/vmlinux-4.2-alpha2-2-AMIGA_one_X1000.tar.bz2 <--------------- doesn't work see http://forum.hyperion-entertainment.biz/viewtopic.php?f=35&t=3068&start=10#p34267

2015-07-02 12:16 http://www.xenosoft.de/vmlinux-git-02_July_2015.tar.bz2 <--------------- doesn't work see http://forum.hyperion-entertainment.biz/viewtopic.php?f=35&t=3068&start=10#p34333

2015-07-05 23:10 kernel 4.2 RC1 <------------------- doesn't work see http://forum.hyperion-entertainment.biz/viewtopic.php?f=35&t=3068&start=20#p34370
The result is the same like the first attempt. Merge tag pwm/for-4.2-rc1 is the first commit that doesn't work.

Rgds,

Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.2

Post by xeno74 »

Maybe an interrupt and SB600 problem?

Code: Select all

Oops: Kernel access of bad area, sig: 11 [#1]

.sb600_8259_cascade+0x4c/0xac (unreliable)
.schedule+0x74/0x9c (unreliable)

Kernel panic - not syncing: Fatal exception in interrupt
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.2

Post by xeno74 »

http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Kernel 4.2

Post by xeno74 »

I used git bisect and found out that the following commit is the problem.

commit 3ceaccdf92073d193f0bfbe24280dd736e3fed86
Author: Dave Hansen <dave.hansen@linux.intel.com>


Log:

Code: Select all

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux-git

git bisect good b953c0d234bc72e8489d3bf51a276c5c4ec85345 (Linux 4.1)

git bisect bad d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754 (Linux 4.2-rc1)

Output:

Bisecting: 6261 revisions left to test after this (roughly 13 steps)
[4570a37169d4b44d316f40b2ccc681dc93fedc7b] Merge tag 'sound-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

----

git bisect bad

Output:

Bisecting: 3295 revisions left to test after this (roughly 12 steps)
[4e241557fc1cb560bd9e77ca1b4a9352732a5427] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

----

git bisect bad

Output:

Bisecting: 1625 revisions left to test after this (roughly 11 steps)
[44d21c3f3a2ef2f58b18bda64c52c99e723f3f4a] Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

----

git bisect bad

Output:

Bisecting: 712 revisions left to test after this (roughly 10 steps)
[e75c73ad64478c12b3a44b86a3e7f62a4f65b93e] Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

----

git bisect bad (sometimes the kernel boots but the mouse doesn't work)

Output:

Bisecting: 371 revisions left to test after this (roughly 9 steps)
[c58267e9fa7b0345dd9006939254701e3622ca6a] Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

----

git bisect good

Output:

Bisecting: 185 revisions left to test after this (roughly 8 steps)
[59a36d16be8f9f68410f1bd396577fb7f31ae877] x86/fpu: Factor out fpu/regset.h from fpu/internal.h

----

git bisect good

Output:

Bisecting: 93 revisions left to test after this (roughly 7 steps)
[23b7776290b10297fe2cae0fb5f166a4f2c68121] Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

----

git bisect good

Output:

Bisecting: 46 revisions left to test after this (roughly 6 steps)
[0c4109bec0a6cde471bef3a21cd6f8384a614469] x86/fpu/xstate: Fix up bad get_xsave_addr() assumptions

----

git bisect good

Output:

Bisecting: 19 revisions left to test after this (roughly 5 steps)
[cfe3eceb7a2eb91284d5605c5315249bb165e9d3] Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

----

git bisect good

Output:

Bisecting: 9 revisions left to test after this (roughly 3 steps)
[cd4996dce18b619bd7b3acf75c91f49c77f05a97] x86/mpx: Trace allocation of new bounds tables

----

git bisect good

Output:

Bisecting: 4 revisions left to test after this (roughly 2 steps)
[613fcb7d3c79ec25b5913a6aa974c9047c31e68c] x86/mpx: Support 32-bit binaries on 64-bit kernels

----

git bisect good

Output:

Bisecting: 2 revisions left to test after this (roughly 1 step)
[bea03c50b871a2fa922f31ad7c9993bb4fc7b192] x86/mpx: Do not count MPX VMAs as neighbors when unmapping

----

git bisect bad (sometimes the kernel boots but the mouse doesn't work)

Output:

Bisecting: 0 revisions left to test after this (roughly 0 steps)
[3ceaccdf92073d193f0bfbe24280dd736e3fed86] x86/mpx: Rewrite the unmap code

----

git bisect bad (sometimes the kernel boots but the mouse doesn't work)

Output:

3ceaccdf92073d193f0bfbe24280dd736e3fed86 is the first bad commit
commit 3ceaccdf92073d193f0bfbe24280dd736e3fed86
Author: Dave Hansen <dave.hansen@linux.intel.com>
Date:   Sun Jun 7 11:37:06 2015 -0700

    x86/mpx: Rewrite the unmap code

    The MPX code needs to clear out bounds tables for memory which
    is no longer in use.  We do this when a userspace mapping is
    torn down (unmapped).

    There are two modes:

      1. An entire bounds table becomes unused, and can be freed
         and its pointer removed from the bounds directory.  This
         happens either when a large mapping is torn down, or when
         a small mapping is torn down and it is the last mapping
         "covered" by a bounds table.

      2. Only part of a bounds table becomes unused, in which case
         we free the backing memory as if MADV_DONTNEED was called.

    The old code was a spaghetti mess of "edge" bounds tables
    where the edges were handled specially, even if we were
    unmapping an entire one.  Non-edge bounds tables are always
    fully unmapped, but share a different code path from the edge
    ones.  The old code had a bug where it was unmapping too much
    memory.  I worked on fixing it for two days and gave up.

    I didn't write the original code.  I didn't particularly like
    it, but it worked, so I left it.  After my debug session, I
    realized it was undebuggagle *and* buggy, so out it went.

    I also wrote a new unmapping test program which uncovers bugs
    pretty nicely.

    Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
    Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Dave Hansen <dave@sr71.net>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20150607183706.DCAEC67D@viggo.jf.intel.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

:040000 040000 d6809ce6030ff42a5813da4a94971888d8ad67c9 a0514265bbf313aba996e5606c00881acc62b220 M    arch

----
Cheers,

Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
Post Reply