# git rev-parse -q --verify dad4f140edaa3f6bb452b6913d41af1ffd672e45^{commit} dad4f140edaa3f6bb452b6913d41af1ffd672e45 already have revision, skipping fetch # git checkout -q -f -B kisskb dad4f140edaa3f6bb452b6913d41af1ffd672e45 # git clean -qxdf # < git log -1 # commit dad4f140edaa3f6bb452b6913d41af1ffd672e45 # Merge: 69d5b97c5973 3a08cd52c37c # Author: Linus Torvalds # Date: Sun Oct 28 11:35:40 2018 -0700 # # Merge branch 'xarray' of git://git.infradead.org/users/willy/linux-dax # # Pull XArray conversion from Matthew Wilcox: # "The XArray provides an improved interface to the radix tree data # structure, providing locking as part of the API, specifying GFP flags # at allocation time, eliminating preloading, less re-walking the tree, # more efficient iterations and not exposing RCU-protected pointers to # its users. # # This patch set # # 1. Introduces the XArray implementation # # 2. Converts the pagecache to use it # # 3. Converts memremap to use it # # The page cache is the most complex and important user of the radix # tree, so converting it was most important. Converting the memremap # code removes the only other user of the multiorder code, which allows # us to remove the radix tree code that supported it. # # I have 40+ followup patches to convert many other users of the radix # tree over to the XArray, but I'd like to get this part in first. The # other conversions haven't been in linux-next and aren't suitable for # applying yet, but you can see them in the xarray-conv branch if you're # interested" # # * 'xarray' of git://git.infradead.org/users/willy/linux-dax: (90 commits) # radix tree: Remove multiorder support # radix tree test: Convert multiorder tests to XArray # radix tree tests: Convert item_delete_rcu to XArray # radix tree tests: Convert item_kill_tree to XArray # radix tree tests: Move item_insert_order # radix tree test suite: Remove multiorder benchmarking # radix tree test suite: Remove __item_insert # memremap: Convert to XArray # xarray: Add range store functionality # xarray: Move multiorder_check to in-kernel tests # xarray: Move multiorder_shrink to kernel tests # xarray: Move multiorder account test in-kernel # radix tree test suite: Convert iteration test to XArray # radix tree test suite: Convert tag_tagged_items to XArray # radix tree: Remove radix_tree_clear_tags # radix tree: Remove radix_tree_maybe_preload_order # radix tree: Remove split/join code # radix tree: Remove radix_tree_update_node_t # page cache: Finish XArray conversion # dax: Convert page fault handlers to XArray # ... # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-gcc --version # < git log --format=%s --max-count=1 dad4f140edaa3f6bb452b6913d41af1ffd672e45 # < make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 allyesconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_KCOV=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # Added to kconfig CONFIG_GCC_PLUGIN_STRUCTLEAK=n # Added to kconfig CONFIG_GCC_PLUGIN_RANDSTRUCT=n # Added to kconfig CONFIG_UML_NET=n # Added to kconfig CONFIG_UML_NET_ETHERTAP=n # Added to kconfig CONFIG_UML_NET_TUNTAP=n # Added to kconfig CONFIG_UML_NET_SLIP=n # Added to kconfig CONFIG_UML_NET_DAEMON=n # Added to kconfig CONFIG_UML_NET_VDE=n # Added to kconfig CONFIG_UML_NET_MCAST=n # Added to kconfig CONFIG_UML_NET_PCAP=n # Added to kconfig CONFIG_UML_NET_SLIRP=n # Added to kconfig CONFIG_GCOV_KERNEL=n # yes \n | make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 oldconfig yes: standard output: Broken pipe # make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 /kisskb/src/scripts/unifdef.c: In function 'Mpass': /kisskb/src/scripts/unifdef.c:453:28: warning: 'strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] static void Mpass (void) { strncpy(keyword, "if ", 4); Pelif(); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/skas/process.c: In function 'start_idle_thread': /kisskb/src/arch/um/os-Linux/skas/process.c:613:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ /kisskb/src/kernel/cgroup/cgroup-v1.c: In function 'cgroup1_mount': /kisskb/src/kernel/cgroup/cgroup-v1.c:1256:3: warning: 'root' may be used uninitialized in this function [-Wmaybe-uninitialized] percpu_ref_reinit(&root->cgrp.self.refcnt); ^ /kisskb/src/security/apparmor/policy_unpack.c: In function 'unpack_trans_table': /kisskb/src/security/apparmor/policy_unpack.c:483:9: warning: 'pos' may be used uninitialized in this function [-Wmaybe-uninitialized] str[pos] = ':'; ^ In file included from /kisskb/src/kernel/sched/psi.c:135:0: /kisskb/src/kernel/sched/psi.c: In function 'cgroup_move_task': /kisskb/src/kernel/sched/sched.h:1063:8: warning: 'rq' may be used uninitialized in this function [-Wmaybe-uninitialized] if (rq->clock_update_flags > RQCF_ACT_SKIP) ^ /kisskb/src/kernel/sched/psi.c:639:13: note: 'rq' was declared here struct rq *rq; ^ /kisskb/src/lib/lz4/lz4hc_compress.c: In function 'LZ4HC_compress_generic': /kisskb/src/lib/lz4/lz4hc_compress.c:579:1: warning: the frame size of 2144 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ /kisskb/src/drivers/i2c/i2c-core-base.c: In function 'i2c_generic_scl_recovery': /kisskb/src/drivers/i2c/i2c-core-base.c:235:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized] if (ret == -EOPNOTSUPP) ^ LINK linux Completed OK # rm -rf /kisskb/build/linus_um-allyesconfig_um-x86_64 # Build took: 0:04:52.029631