New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 771410 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Rebase of chromeos-4.12 to chromeos-4.14

Project Member Reported by djkurtz@chromium.org, Oct 3 2017

Issue description

The current "latest" kernel for chromeos is chromeos-4.12.
The current plan for next chromeos kernel is 4.14, which is meant to be the next LTS release.

For reference, on 10/1 Linus released Linux 4.14-rc3 [0].
[0] https://lkml.org/lkml/2017/10/1/182
 
Cc: teravest@chromium.org
groeck - Can you post any guidance here for how best to proceed with the chromeos-4.14 rebase?

Comment 3 by groeck@chromium.org, Oct 20 2017

#2: Yes, will do early next week. Too distracted with sheriffing this week.

Comment 4 by groeck@chromium.org, Oct 23 2017

Action items:
- Create merge database with topic branches (done)
 https://drive.google.com/a/google.com/file/d/0B0oKcxFo1ZtwZTk5SWIwWURKQ1k/view?usp=sharing
- Create topic list (groeck)
- Rebase android (groeck or volunteer, can start immediately)
  (https://chromium.googlesource.com/chromiumos/third_party/kernel-next chromeos-4.12-android)
- Rebase topic branches onto android rebase

- Ongoing: Collect topic branches and generate working rebase branch

Cc: la...@chromium.org

Comment 7 by la...@chromium.org, Oct 23 2017

I'm going to take a shot at chromeos-4.14-android. If it goes beyond my abilities I'll bail out.

Comment 8 by groeck@chromium.org, Oct 23 2017

Owner: groeck@chromium.org
Status: Started (was: Available)
#7: Sounds good; the conflicts are a bit excessive.
Spoiler alert: I already finished its rebase, but it would be useful to have it done by someone else as well to be able to compare the results.
Hints: Don't bother trying to compile dm-android-verity.c; we don't use it, and I don't think it compiles even in chromeos-4.12. Also, don't bother trying to compile dm-linear.c before you are done; there are several fixup commits after the initial changes.
I'll publish the branch shortly after some more compile tests.

I'll mark the bug status as Started and set myself as owner. That doesn't mean I'll do all the work, though ;-).

Comment 9 by groeck@chromium.org, Oct 23 2017

Created kernel-next:chromeos-4.14-android. Compile tested only.

#8: Too early. Due to a recent "improvement", gerrit refuses to accept my push because it involves more than 10,000 patches. I'll have to go back and figure out how I got around that problem earlier with the 4.12 rebase.


ok ... now chromeos-4.14-android does exist. lannm@ - please continue with your rebase, and let's compare the results.

Comment 12 by la...@chromium.org, Oct 24 2017

I finished my rebase. Outside of dm-* there were only a handful of diffs between our trees and for most of them your side was obviously more correct. The only chunk that wasn't obvious to me was this (my tree on the left):

diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index c8f5f1b44530..5189a9bb82cb 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -2814,18 +2815,6 @@ static void ext4_free_data_in_buddy(struct super_block *sb,
        mb_debug(1, "gonna free %u blocks in group %u (0x%p):",
                 entry->efd_count, entry->efd_group, entry);
 
-       if (test_opt(sb, DISCARD)) {
-               err = ext4_issue_discard(sb, entry->efd_group,
-                                        entry->efd_start_cluster,
-                                        entry->efd_count, 0);
-               if (err && err != -EOPNOTSUPP)
-                       ext4_msg(sb, KERN_WARNING, "discard request in"
-                                " group:%d block:%d count:%d failed"
-                                " with %d", entry->efd_group,
-                                entry->efd_start_cluster,
-                                entry->efd_count, err);
-       }
-
        err = ext4_mb_load_buddy(sb, entry->efd_group, &e4b);
        /* we expect to find existing buddy because it's pinned */
        BUG_ON(err != 0);

Comment 13 by la...@chromium.org, Oct 24 2017

Actually, this chunk in dm-linear.c looks like it could be relevant too:

diff --git a/drivers/md/dm-linear.c b/drivers/md/dm-linear.c
index 36228de35dc2..bba543a9ae69 100644
--- a/drivers/md/dm-linear.c
+++ b/drivers/md/dm-linear.c
@@ -199,6 +199,7 @@ static struct target_type linear_target = {
        .ctr    = dm_linear_ctr,
        .dtr    = dm_linear_dtr,
        .map    = dm_linear_map,
-       .end_io = dm_linear_end_io,
        .status = dm_linear_status,
        .prepare_ioctl = dm_linear_prepare_ioctl,
        .iterate_devices = dm_linear_iterate_devices,

#13: That was bad code on my side. Excellent catch!
I updated the branch and pushed it again.

#12: The code was removed upstream and replaced with code in ext4_process_freed_data(), which now handles the call to ext4_issue_discard().

lannm@: Do you have any other concerns, or do you think we can create chromeos-4.14-base ?

Comment 17 by la...@chromium.org, Oct 24 2017

LGTM - if there are more mistakes then we both made them identically.
Cc: bleung@chromium.org
Done. chromeos-4.14-base now exists. 
Rebase directions: https://docs.google.com/a/google.com/document/d/1Z1vfB-tcoFyniF_0ScvFp_5meljliB4LkHfXUacF6qM/edit?usp=sharing

Quite rudimentary, but should be good enough to start. I'll update as we go and with your comments. I'll also update the topic list with topic numbers to make the database tools useful (process-dbm.sh needs topic numbers). Also, everyone, please spend some time to browse through the database and report any errors.

Cc: ar...@chromium.org
Cc: djkurtz@chromium.org
Cc: adityakali@google.com

Comment 23 by la...@chromium.org, Oct 24 2017

I found another issue with the Android rebase:

"ANDROID: Add untag hacks to inet_release function" (7de3824ab) adds some e.g. `atomic_read(sk->sk_refcnt)`, but sk_refcnt's type was changed from atomic_t to refcount_r upstream, so atomic_read needs to become refcount_read. This diff fixes it: https://bit.googleplex.com/#/lannm/5286606508392448

Project Member

Comment 24 by bugdroid1@chromium.org, Nov 10 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/manifest-internal/+/a26391537e7f4588a64a349da67430b816ff76a6

commit a26391537e7f4588a64a349da67430b816ff76a6
Author: Guenter Roeck <groeck@google.com>
Date: Fri Nov 10 22:05:43 2017

Project Member

Comment 25 by bugdroid1@chromium.org, Nov 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/manifest/+/00b4773ec79b25a8c8466b4380fd945a0c1e567c

commit 00b4773ec79b25a8c8466b4380fd945a0c1e567c
Author: Guenter Roeck <groeck@chromium.org>
Date: Fri Nov 10 22:05:43 2017

Add chromeos-experimental

An experimental kernel lets us test upcoming branches without
having to change files like this over and over again.

CQ-DEPEND=CL:*500772
BUG= chromium:771410 
TEST=repo sync, see new (plain experimental) kernel branch

Change-Id: Ia6184688de80fb28379f13941f771b75e168d35c
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/761401
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Bernie Thompson <bhthompson@chromium.org>

[modify] https://crrev.com/00b4773ec79b25a8c8466b4380fd945a0c1e567c/full.xml

Project Member

Comment 26 by bugdroid1@chromium.org, Nov 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/9da14c4cb98bbeee288e2814d9a4511a331c927b

commit 9da14c4cb98bbeee288e2814d9a4511a331c927b
Author: Guenter Roeck <groeck@chromium.org>
Date: Sat Nov 11 07:19:09 2017

Add sys-kernel/chromeos-kernel-experimental

This lets us build images and run trybots with experimental kernels.

CQ-DEPEND=CL:761401,CL:*500772
BUG= chromium:771410 
TEST="Build image with USE flag chromeos-kernel-experimental"

Change-Id: I1daa518981b2d7fb9b859ce335391b86cfdc6bcf
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/761258
Reviewed-by: Douglas Anderson <dianders@chromium.org>

[add] https://crrev.com/9da14c4cb98bbeee288e2814d9a4511a331c927b/sys-kernel/chromeos-kernel-experimental/chromeos-kernel-experimental-9999.ebuild
[add] https://crrev.com/9da14c4cb98bbeee288e2814d9a4511a331c927b/sys-kernel/chromeos-kernel-experimental/metadata.xml
[add] https://crrev.com/9da14c4cb98bbeee288e2814d9a4511a331c927b/sys-kernel/chromeos-kernel-experimental/files/chromeos-version.sh

Labels: Kernel-4.14
Status: Fixed (was: Started)
Project Member

Comment 29 by bugdroid1@chromium.org, Nov 18 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/manifest-internal/+/08efc7287c8061f9965fb6d1baf35634e8cdd0bd

commit 08efc7287c8061f9965fb6d1baf35634e8cdd0bd
Author: Guenter Roeck <groeck@google.com>
Date: Sat Nov 18 04:18:22 2017

Project Member

Comment 30 by bugdroid1@chromium.org, Nov 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/manifest/+/df43a2bb0c0009524f63b75fd47a2320ba41809b

commit df43a2bb0c0009524f63b75fd47a2320ba41809b
Author: Guenter Roeck <groeck@chromium.org>
Date: Sat Nov 18 04:18:22 2017

Add kernel 4.14

CQ-DEPEND=CL:*508057
BUG= chromium:771410 
TEST=repo sync, see new (plain v4.14) kernel branch

Change-Id: Idb719be8e8b4cc190401fd30c195fb6f8013e752
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/775614
Reviewed-by: Benjamin Gordon <bmgordon@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>

[modify] https://crrev.com/df43a2bb0c0009524f63b75fd47a2320ba41809b/full.xml

Comment 32 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Comment 33 by dchan@chromium.org, Jan 23 2018

Status: Fixed (was: Archived)

Sign in to add a comment