{"push_id":854944426,"size":64,"distinct_size":64,"ref":"refs/heads/master","head":"69234acee54407962a20bedf90ef9c96326994b5","before":"75f5db39ff14ed95056f2cca3ad98c3cae97170c","commits":[{"sha":"fc4f370d77f867fe327fb3591030930693e5438e","author":{"email":"f66c2687de8c45b04592c834d7fc1c4c93da77ea@freescale.com","name":"Tang Yuantian"},"message":"Revert \"ahci: added support for Freescale AHCI sata\"\n\nThis reverts commit 5163fb62541e\n(\"ahci: added support for Freescale AHCI sata\")\n\nThe reverted patch added Freescale QorIQ AHCI sata support to\nahci_platform driver though, but it left SoC specific settings to uboot.\nIt leads to QorIQ sata heavily depending on uboot. In order to removing\nthe dependency we first revert the old patch and then will add a new driver\nfor QorIQ SATA.\nSince there are no LS* platforms that have been upstreamed, So\nthe revert would not break anything exists.\n\nSigned-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>\nReviewed-by: Hans de Goede <hdegoede@redhat.com>\nSigned-off-by: Tejun Heo <tj@kernel.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/fc4f370d77f867fe327fb3591030930693e5438e"},{"sha":"437dd8c3c20fa750a9db2e6b39b5e2ff7d01c79e","author":{"email":"f66c2687de8c45b04592c834d7fc1c4c93da77ea@freescale.com","name":"Tang Yuantian"},"message":"devicetree:bindings: add devicetree bindings for Freescale AHCI\n\nadds bindings for Freescale QorIQ AHCI SATA controller.\n\nSigned-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>\nReviewed-by: Hans de Goede <hdegoede@redhat.com>\nSigned-off-by: Tejun Heo <tj@kernel.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/437dd8c3c20fa750a9db2e6b39b5e2ff7d01c79e"},{"sha":"ecfb4598512a7c3e21df2941db58c10461583bb9","author":{"email":"f66c2687de8c45b04592c834d7fc1c4c93da77ea@freescale.com","name":"Tang Yuantian"},"message":"ahci: added a new driver for supporting Freescale AHCI sata\n\nCurrently Freescale QorIQ series SATA is supported by ahci_platform\ndriver. Some SoC specific settings have been put in uboot. So whether\nSATA works or not heavily depends on uboot.\nThis patch will add a new driver to support QorIQ sata which removes\nthe dependency on any other boot loader.\nFreescale QorIQ series sata, like ls1021a ls2085a ls1043a, is\ncompatible with serial ATA 3.0 and AHCI 1.3 specification.\n\nSigned-off-by: Yuantian Tang <Yuantian.Tang@freescale.com>\nReviewed-by: Hans de Goede <hdegoede@redhat.com>\nSigned-off-by: Tejun Heo <tj@kernel.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/ecfb4598512a7c3e21df2941db58c10461583bb9"},{"sha":"88622d80af827b23201d62bbc1697541308f85e9","author":{"email":"94b2a0a74cb42a2dd0cf1b763601af7f13907aa9@free.fr","name":"Robert Jarzmik"},"message":"ata: pata_pxa: dmaengine conversion\n\nThe PXA architecture was offered a slave dmaengine support. As a\nconsequence the direct DMA registers are progressively replaced by\ndmaengine support.\n\nThis makes the pata_pxa change, which brings this driver to almost a\ngeneric ATA 40-wires driver relying on dmaengine for transfers.\n\nSigned-off-by: Robert Jarzmik <robert.jarzmik@free.fr>\nSigned-off-by: Tejun Heo <tj@kernel.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/88622d80af827b23201d62bbc1697541308f85e9"},{"sha":"1ed1328792ff46e4bb86a3d7f7be2971f4549f6c","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem\n\nNote: This commit was originally committed as d59cfc09c32a but got\n      reverted by 0c986253b939 due to the performance regression from\n      the percpu_rwsem write down/up operations added to cgroup task\n      migration path.  percpu_rwsem changes which alleviate the\n      performance issue are pending for v4.4-rc1 merge window.\n      Re-apply.\n\nThe cgroup side of threadgroup locking uses signal_struct->group_rwsem\nto synchronize against threadgroup changes.  This per-process rwsem\nadds small overhead to thread creation, exit and exec paths, forces\ncgroup code paths to do lock-verify-unlock-retry dance in a couple\nplaces and makes it impossible to atomically perform operations across\nmultiple processes.\n\nThis patch replaces signal_struct->group_rwsem with a global\npercpu_rwsem cgroup_threadgroup_rwsem which is cheaper on the reader\nside and contained in cgroups proper.  This patch converts one-to-one.\n\nThis does make writer side heavier and lower the granularity; however,\ncgroup process migration is a fairly cold path, we do want to optimize\nthread operations over it and cgroup migration operations don't take\nenough time for the lower granularity to matter.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nLink: http://lkml.kernel.org/g/55F8097A.7000206@de.ibm.com\nCc: Ingo Molnar <mingo@redhat.com>\nCc: Peter Zijlstra <peterz@infradead.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/1ed1328792ff46e4bb86a3d7f7be2971f4549f6c"},{"sha":"3014dde762f618fbcfe899f9ce9e929a2e5aa6dd","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cgroup: simplify threadgroup locking\n\nNote: This commit was originally committed as b5ba75b5fc0e but got\n      reverted by f9f9e7b77614 due to the performance regression from\n      the percpu_rwsem write down/up operations added to cgroup task\n      migration path.  percpu_rwsem changes which alleviate the\n      performance issue are pending for v4.4-rc1 merge window.\n      Re-apply.\n\nNow that threadgroup locking is made global, code paths around it can\nbe simplified.\n\n* lock-verify-unlock-retry dancing removed from __cgroup_procs_write().\n\n* Race protection against de_thread() removed from\n  cgroup_update_dfl_csses().\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nLink: http://lkml.kernel.org/g/55F8097A.7000206@de.ibm.com","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/3014dde762f618fbcfe899f9ce9e929a2e5aa6dd"},{"sha":"469eabb3aec03d9defed3462df743a223a5c8f54","author":{"email":"faea5242a00c52da62a0f00df168c199b7ab748d@debethencourt.com","name":"Luis de Bethencourt"},"message":"ata: pata_macio: Fix module autoload for OF platform driver\n\nThis platform driver has a OF device ID table but the OF module\nalias information is not created so module autoloading won't work.\n\nThis patch adds the missing MODULE_DEVICE_TABLE() for OF to export\nthat information so modules have the correct aliases built-in and\nautoloading works correctly.\n\nLink: https://lkml.org/lkml/2015/7/30/519\nSigned-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>\nSigned-off-by: Tejun Heo <tj@kernel.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/469eabb3aec03d9defed3462df743a223a5c8f54"},{"sha":"fa128fd735bd236b6b04d3fedfed7a784137c185","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"jump_label: make static_key_enabled() work on static_key_true/false types too\n\nstatic_key_enabled() can be used on struct static_key but not on its\nwrapper types static_key_true and static_key_false.  The function is\nuseful for debugging and management of static keys.  Update it so that\nit can be used for the wrapper types too.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nAcked-by: Peter Zijlstra (Intel) <peterz@infradead.org>\nCc: Andrew Morton <akpm@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/fa128fd735bd236b6b04d3fedfed7a784137c185"},{"sha":"49d1dc4b81797f88270832b11e9f73809e7e7209","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cgroup: implement static_key based cgroup_subsys_enabled() and cgroup_subsys_on_dfl()\n\nWhether a subsys is enabled and attached to the default hierarchy\nseldom changes and may be tested in the hot paths.  This patch\nimplements static_key based cgroup_subsys_enabled() and\ncgroup_subsys_on_dfl() tests.\n\nThe following patches will update the users and remove duplicate\nmechanisms.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nAcked-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/49d1dc4b81797f88270832b11e9f73809e7e7209"},{"sha":"fc5ed1e95410ad73b2ab8f33cd90eb3bcf6c98a1","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cgroup: replace cgroup_subsys->disabled tests with cgroup_subsys_enabled()\n\nReplace cgroup_subsys->disabled tests in controllers with\ncgroup_subsys_enabled().  cgroup_subsys_enabled() requires literal\nsubsys name as its parameter and thus can't be used for cgroup core\nwhich iterates through controllers.  For cgroup core, introduce and\nuse cgroup_ssid_enabled() which uses slower static_key_enabled() test\nand can be indexed by subsys ID.\n\nThis leaves cgroup_subsys->disabled unused.  Removed.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nAcked-by: Zefan Li <lizefan@huawei.com>\nCc: Johannes Weiner <hannes@cmpxchg.org>\nCc: Michal Hocko <mhocko@kernel.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/fc5ed1e95410ad73b2ab8f33cd90eb3bcf6c98a1"},{"sha":"9e10a130d9b62af976d17d120c95f3650769312c","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cgroup: replace cgroup_on_dfl() tests in controllers with cgroup_subsys_on_dfl()\n\ncgroup_on_dfl() tests whether the cgroup's root is the default\nhierarchy; however, an individual controller is only interested in\nwhether the controller is attached to the default hierarchy and never\ntests a cgroup which doesn't belong to the hierarchy that the\ncontroller is attached to.\n\nThis patch replaces cgroup_on_dfl() tests in controllers with faster\nstatic_key based cgroup_subsys_on_dfl().  This leaves cgroup core as\nthe only user of cgroup_on_dfl() and the function is moved from the\nheader file to cgroup.c.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nAcked-by: Zefan Li <lizefan@huawei.com>\nCc: Vivek Goyal <vgoyal@redhat.com>\nCc: Jens Axboe <axboe@kernel.dk>\nCc: Johannes Weiner <hannes@cmpxchg.org>\nCc: Michal Hocko <mhocko@kernel.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/9e10a130d9b62af976d17d120c95f3650769312c"},{"sha":"4a07c222d3afb00e1113834fee38d23a8e5d71dc","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cgroup: replace \"cgroup.populated\" with \"cgroup.events\"\n\nmemcg already uses \"memory.events\" for event reporting and other\ncontrollers may need event reporting too.  Let's standardize on\n\"$SUBSYS.events\" interface file for reporting events which don't\nhappen too frequently and thus can share event notification.\n\n\"cgroup.populated\" is replaced with \"populated\" field in\n\"cgroup.events\" and documentation is updated accordingly.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nCc: Li Zefan <lizefan@huawei.com>\nCc: Johannes Weiner <hannes@cmpxchg.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/4a07c222d3afb00e1113834fee38d23a8e5d71dc"},{"sha":"7dbdb199d3bf88f043ea17e97113eb28d5b100bc","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cgroup: replace cftype->mode with CFTYPE_WORLD_WRITABLE\n\ncftype->mode allows controllers to give arbitrary permissions to\ninterface knobs.  Except for \"cgroup.event_control\", the existing uses\nare spurious.\n\n* Some explicitly specify S_IRUGO | S_IWUSR even though that's the\n  default.\n\n* \"cpuset.memory_pressure\" specifies S_IRUGO while also setting a\n  write callback which returns -EACCES.  All it needs to do is simply\n  not setting a write callback.\n\n\"cgroup.event_control\" uses cftype->mode to make the file\nworld-writable.  It's a misdesigned interface and we don't want\ncontrollers to be tweaking interface file permissions in general.\nThis patch removes cftype->mode and all its spurious uses and\nimplements CFTYPE_WORLD_WRITABLE for \"cgroup.event_control\" which is\nmarked as compatibility-only.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nCc: Li Zefan <lizefan@huawei.com>\nCc: Johannes Weiner <hannes@cmpxchg.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/7dbdb199d3bf88f043ea17e97113eb28d5b100bc"},{"sha":"ccdca2187b03decd186df13e44c57fbf1974d0a0","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cgroup: relocate cgroup_populate_dir()\n\nMove it upwards so that it's right below cgroup_clear_dir() and the\nforward declaration is unnecessary.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nCc: Li Zefan <lizefan@huawei.com>\nCc: Johannes Weiner <hannes@cmpxchg.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/ccdca2187b03decd186df13e44c57fbf1974d0a0"},{"sha":"6732ed853af942ba20ddbd091336acc7df569119","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cgroup: make cgroup_addrm_files() clean up after itself on failures\n\nAfter a file creation failure, cgroup_addrm_files() it didn't remove\nthe files which had already been created.  When cgroup_populate_dir()\nis the caller, this is fine as the caller performs cleanup; however,\nfor other callers, this may leave unactivated dangling files behind.\nAs kernfs directory removals are recursive, this doesn't lead to\npermanent memory leak but it can, for example, fail future attempts to\ncreate those files again.\n\nThere's no point in keeping around this sort of subtlety and it gets\nin the way of planned updates to file handling.  This patch makes\ncgroup_addrm_files() clean up after itself on failures.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nCc: Li Zefan <lizefan@huawei.com>\nCc: Johannes Weiner <hannes@cmpxchg.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/6732ed853af942ba20ddbd091336acc7df569119"},{"sha":"1ada48387a31b437074aa8973ce81de6e8c60bde","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cgroup: cosmetic updates to rebind_subsystems()\n\n* Use local variables @scgrp and @dcgrp for @src_root->cgrp and\n  @dst_root->cgrp respectively.\n\n* Use initializers to set @src_root and @css in the inner bind loop.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nCc: Li Zefan <lizefan@huawei.com>\nCc: Johannes Weiner <hannes@cmpxchg.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/1ada48387a31b437074aa8973ce81de6e8c60bde"},{"sha":"4df8dc903161c03cd9bff9077d8427fefe808e6d","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cgroup: restructure file creation / removal handling\n\nThe file creation / removal path has always been a bit icky and the\nplanned notification update requires css during file creation.\nRestructure as follows.\n\n* cgroup_addrm_files() now takes both @css and @cgrp and is only\n  called directly by other file handling functions.\n\n* cgroup_populate/clear_dir() are replaced with\n  css_populate/clear_dir() taking @css and @cgrp_override.\n  @cgrp_override is used only when files needs to be created on /\n  removed from a cgroup which isn't attached to @css which happens\n  during subsystem rebinds.  Subsystem loops are moved to the callers.\n\n* cgroup_add_file() now takes both @css and @cgrp.  @css isn't used\n  yet but will be used by the planned notification update.\n\nThis patch doens't cause any behavior changes.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nCc: Li Zefan <lizefan@huawei.com>\nCc: Johannes Weiner <hannes@cmpxchg.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/4df8dc903161c03cd9bff9077d8427fefe808e6d"},{"sha":"6f60eade2433cb3a38687d5f8a4f44b92c6c51bf","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cgroup: generalize obtaining the handles of and notifying cgroup files\n\ncgroup core handles creations and removals of cgroup interface files\nas described by cftypes.  There are cases where the handle for a given\nfile instance is necessary, for example, to generate a file modified\nevent.  Currently, this is handled by explicitly matching the callback\nmethod pointer and storing the file handle manually in\ncgroup_add_file().  While this simple approach works for cgroup core\nfiles, it can't for controller interface files.\n\nThis patch generalizes cgroup interface file handle handling.  struct\ncgroup_file is defined and each cftype can optionally tell cgroup core\nto store the file handle by setting ->file_offset.  A file handle\nremains accessible as long as the containing css is accessible.\n\nBoth \"cgroup.procs\" and \"cgroup.events\" are converted to use the new\ngeneric mechanism instead of hooking directly into cgroup_add_file().\nAlso, cgroup_file_notify() which takes a struct cgroup_file and\ngenerates a file modified event on it is added and replaces explicit\nkernfs_notify() invocations.\n\nThis generalizes cgroup file handle handling and allows controllers to\ngenerate file modified notifications.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nCc: Li Zefan <lizefan@huawei.com>\nCc: Johannes Weiner <hannes@cmpxchg.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/6f60eade2433cb3a38687d5f8a4f44b92c6c51bf"},{"sha":"472912a2b5e2027efd58aa47f78acb2373675187","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"memcg: generate file modified notifications on \"memory.events\"\n\ncgroup core only recently grew generic notification support.  Wire up\n\"memory.events\" so that it triggers a file modified event whenever its\ncontent changes.\n\nv2: Refreshed on top of mem_cgroup relocation.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nAcked-by: Michal Hocko <mhocko@kernel.org>\nAcked-by: Johannes Weiner <hannes@cmpxchg.org>\nCc: Li Zefan <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/472912a2b5e2027efd58aa47f78acb2373675187"},{"sha":"3df9ca0a2b8b50db5a079ae9d97c5b55435e9a6c","author":{"email":"546b05909706652891a87f7bfe385ae147f61f91@kernel.org","name":"Tejun Heo"},"message":"cpuset: migrate memory only for threadgroup leaders\n\nIf memory_migrate flag is set, cpuset migrates memory according to the\ndestnation css's nodemask.  The current implementation migrates memory\nwhenever any thread of a process is migrated making the behavior\nsomewhat arbitrary.  Let's tie memory operations to the threadgroup\nleader so that memory is migrated only when the leader is migrated.\n\nWhile this is a behavior change, given the inherent fuziness, this\nchange is not too likely to be noticed and allows us to clearly define\nwho owns the memory (always the leader) and helps the planned atomic\nmulti-process migration.\n\nNote that we're currently migrating memory in migration path proper\nwhile holding all the locks.  In the long term, this should be moved\nout to an async work item.\n\nSigned-off-by: Tejun Heo <tj@kernel.org>\nAcked-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/3df9ca0a2b8b50db5a079ae9d97c5b55435e9a6c"}]}