lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170703083909.wddjjt766xxrqljy@gmail.com>
Date:   Mon, 3 Jul 2017 10:39:09 +0200
From:   Ingo Molnar <mingo@...nel.org>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     linux-kernel@...r.kernel.org,
        Peter Zijlstra <a.p.zijlstra@...llo.nl>,
        Thomas Gleixner <tglx@...utronix.de>,
        "H. Peter Anvin" <hpa@...or.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Mike Galbraith <efault@....de>
Subject: [GIT PULL] scheduler changes for v4.13

Linus,

Please pull the latest sched-core-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-for-linus

   # HEAD: 72298e5c92c50edd8cb7cfda4519483ce65fa166 sched/cputime: Refactor the cputime_adjust() code

The main changes in this cycle were:

 - Add the SYSTEM_SCHEDULING bootup state to move various scheduler debug checks 
   earlier into the bootup. This turns silent and sporadically deadly bugs into
   nice, deterministic splats. Fix some of the splats that triggered.
   (Thomas Gleixner)

 - A round of restructuring and refactoring of the load-balancing and topology 
   code (Peter Zijlstra)

 - Another round of consolidating ~20 of incremental scheduler code history: this 
   time in terms of wait-queue nomenclature. (I didn't get much feedback on these 
   renaming patches, and we can still easily change any names I might have 
   misplaced, so if anyone hates a new name, please holler and I'll fix it.)
   (Ingo Molnar)

 - sched/numa improvements, fixes and updates (Rik van Riel)

 - Another round of x86/tsc scheduler clock code improvements, in hope of making
   it more robust (Peter Zijlstra)

 - Improve NOHZ behavior (Frederic Weisbecker)

 - Deadline scheduler improvements and fixes (Luca Abeni, Daniel Bristot de Oliveira)

 - Simplify and optimize the topology setup code (Lauro Ramos Venancio)

 - Debloat and decouple scheduler code some more (Nicolas Pitre)

 - Simplify code by making better use of llist primitives (Byungchul Park)

 - ... plus other fixes and improvements.

 Thanks,

	Ingo

------------------>
Aaron Lu (1):
      smp: Avoid sending needless IPI in smp_call_function_many()

Arnd Bergmann (1):
      x86/tsc: Fold set_cyc2ns_scale() into caller

Aubrey Li (1):
      sched/idle: Add deferrable vmstat_updater back

Byungchul Park (4):
      llist: Provide a safe version for llist_for_each()
      sched/core: Use the new llist_for_each_entry_safe() primitive
      sched/rt: Remove unnecessary condition in push_rt_task()
      sched/deadline: Remove unnecessary condition in push_dl_task()

Claudio Scordino (1):
      sched/deadline: Add documentation about GRUB reclaiming

Daniel Axtens (1):
      sched/fair: WARN() and refuse to set buddy when !se->on_rq

Daniel Bristot de Oliveira (3):
      sched/deadline: Fix dl_bw comment
      sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks
      sched/debug: Expose the number of RT/DL tasks that can migrate

Dave Kleikamp (1):
      sched/rt: Minimize rq->lock contention in do_sched_rt_period_timer()

Davidlohr Bueso (1):
      sched/core: Drop the unused try_get_task_struct() helper function

Frederic Weisbecker (3):
      sched/loadavg: Generalize "_idle" naming to "_nohz"
      nohz: Move idle balancer registration to the idle path
      sched/fair: Spare idle load balancing on nohz_full CPUs

Gustavo A. R. Silva (1):
      sched/cputime: Refactor the cputime_adjust() code

Ingo Molnar (11):
      sched/wait: Rename wait_queue_t => wait_queue_entry_t
      sched/wait: Standardize internal naming of wait-queue entries
      sched/wait: Standardize internal naming of wait-queue heads
      sched/wait: Standardize 'struct wait_bit_queue' wait-queue entry field name
      sched/wait: Standardize wait_bit_queue naming
      sched/wait: Improve the bit-wait API parameter names in the API function prototypes
      sched/wait: Re-adjust macro line continuation backslashes in <linux/wait.h>
      sched/wait: Split out the wait_bit*() APIs from <linux/wait.h> into <linux/wait_bit.h>
      sched/wait: Move bit_wait_table[] and related functionality from sched/core.c to sched/wait_bit.c
      sched/wait: Disambiguate wq_entry->task_list and wq_head->task_list naming
      sched/debug: Fix SCHED_WARN_ON() to return a value on !CONFIG_SCHED_DEBUG as well

Lauro Ramos Venancio (3):
      sched/topology: Refactor function build_overlap_sched_groups()
      sched/topology: Optimize build_group_mask()
      sched/topology: Move comment about asymmetric node setups

Luca Abeni (9):
      sched/deadline: Track the active utilization
      sched/deadline: Improve the tracking of active utilization
      sched/deadline: Fix the update of the total -deadline utilization
      sched/deadline: Implement GRUB accounting
      sched/deadline: Do not reclaim the whole CPU bandwidth
      sched/deadline: Make GRUB a task's flag
      sched/deadline: Track the "total rq utilization" too
      sched/deadline: Base GRUB reclaiming on the inactive utilization
      sched/deadline: Reclaim bandwidth not used by dl tasks

Nicolas Pitre (4):
      sched/core: Omit building stop_sched_class when !SMP
      sched/cpuset: Only offer CONFIG_CPUSETS if SMP is enabled
      sched/deadline: Move DL related code from sched/core.c to sched/deadline.c
      sched/rt: Move RT related code from sched/core.c to sched/rt.c

Perr Zhang (1):
      sched/header: Remove leftover, obsolete comment

Peter Zijlstra (30):
      x86/tsc: Provide 'tsc=unstable' boot parameter
      x86/tsc: Remodel cyc2ns to use seqcount_latch()
      x86/tsc: Fix sched_clock() sync
      x86/tsc: Feed refined TSC calibration into sched_clock()
      sched/clock: Initialize all per-CPU state before switching (back) to unstable
      x86/tsc, sched/clock, clocksource: Use clocksource watchdog to provide stable sync points
      sched/clock: Remove unused argument to sched_clock_idle_wakeup_event()
      sched/clock: Remove watchdog touching
      cpuidle: Fix idle time tracking
      sched/clock: Use late_initcall() instead of sched_init_smp()
      sched/clock: Print a warning recommending 'tsc=unstable'
      sched/fair, cpumask: Export for_each_cpu_wrap()
      sched/topology: Fix building of overlapping sched-groups
      sched/topology: Simplify build_overlap_sched_groups()
      sched/debug: Print the scheduler topology group mask
      sched/topology: Verify the first group matches the child domain
      sched/topology: Remove FORCE_SD_OVERLAP
      sched/topology: Fix overlapping sched_group_mask
      sched/topology: Small cleanup
      sched/topology: Add sched_group_capacity debugging
      sched/topology: Fix overlapping sched_group_capacity
      sched/topology: Add a few comments
      sched/topology: Rewrite get_group()
      sched/topology: Simplify sched_group_mask() usage
      sched/topology: Rename sched_group_mask()
      sched/topology: Rename sched_group_cpus()
      sched/fair: Use task_groups instead of leaf_cfs_rq_list to walk all cfs_rqs
      smp, cpumask: Use non-atomic cpumask_{set,clear}_cpu()
      sched/clock: Fix early boot preempt assumption in __set_sched_clock_stable()
      sched/core: Implement new approach to scale select_idle_cpu()

Rik van Riel (4):
      sched/numa: Override part of migrate_degrades_locality() when idle balancing
      sched/fair: Simplify wake_affine() for the single socket case
      sched/numa: Implement NUMA node level wake_affine()
      sched/fair: Remove effective_load()

Steven Rostedt (VMware) (1):
      sched/core: Allow __sched_setscheduler() in interrupts when PI is not used

Tejun Heo (1):
      sched/fair: Fix O(nr_cgroups) in load balance path

Thomas Gleixner (18):
      init: Pin init task to the boot CPU, initially
      arm: Adjust system_state check
      arm64: Adjust system_state check
      x86/smp: Adjust system_state check
      metag: Adjust system_state check
      powerpc: Adjust system_state check
      ACPI: Adjust system_state check
      mm: Adjust system_state check
      cpufreq/pasemi: Adjust system_state check
      iommu/vt-d: Adjust system_state checks
      iommu/of: Adjust system_state check
      async: Adjust system_state checks
      extable: Adjust system_state checks
      printk: Adjust system_state checks
      mm/vmscan: Adjust system_state checks
      init: Introduce SYSTEM_SCHEDULING state
      sched/core: Enable might_sleep() and smp_processor_id() checks early
      sched/numa: Hide numa_wake_affine() from UP build

Vincent Guittot (1):
      sched/cfs: Make util/load_avg more stable

Vlastimil Babka (1):
      sched/numa: Use down_read_trylock() for the mmap_sem

Xunlei Pang (1):
      sched/deadline: Zero out positive runtime after throttling constrained tasks


 Documentation/DocBook/kernel-hacking.tmpl          |    2 +-
 Documentation/filesystems/autofs4.txt              |   12 +-
 Documentation/scheduler/sched-deadline.txt         |  168 ++++
 Documentation/trace/ftrace.txt                     |    2 +-
 arch/arm/kernel/smp.c                              |    3 +-
 arch/arm64/kernel/smp.c                            |    3 +-
 arch/metag/kernel/smp.c                            |    3 +-
 arch/powerpc/kernel/smp.c                          |    2 +-
 arch/x86/events/core.c                             |   12 +-
 arch/x86/include/asm/timer.h                       |    8 +-
 arch/x86/kernel/smpboot.c                          |    2 +-
 arch/x86/kernel/tsc.c                              |  206 ++--
 arch/x86/platform/uv/tlb_uv.c                      |   14 +-
 block/blk-mq.c                                     |    4 +-
 block/blk-wbt.c                                    |    4 +-
 block/kyber-iosched.c                              |   16 +-
 drivers/acpi/pci_root.c                            |    2 +-
 drivers/base/node.c                                |    2 +-
 drivers/bluetooth/btmrvl_main.c                    |    2 +-
 drivers/char/ipmi/ipmi_watchdog.c                  |    2 +-
 drivers/cpufreq/pasemi-cpufreq.c                   |    2 +-
 drivers/cpuidle/cpuidle.c                          |    1 +
 drivers/gpu/drm/i915/i915_gem_request.h            |    2 +-
 drivers/gpu/drm/i915/i915_sw_fence.c               |   35 +-
 drivers/gpu/drm/i915/i915_sw_fence.h               |    2 +-
 drivers/gpu/drm/radeon/radeon.h                    |    2 +-
 drivers/gpu/drm/radeon/radeon_fence.c              |    2 +-
 drivers/gpu/vga/vgaarb.c                           |    2 +-
 drivers/infiniband/hw/i40iw/i40iw_main.c           |    2 +-
 drivers/iommu/intel-iommu.c                        |    4 +-
 drivers/iommu/of_iommu.c                           |    2 +-
 drivers/md/bcache/btree.h                          |    2 +-
 drivers/net/ethernet/cavium/liquidio/octeon_main.h |    4 +-
 drivers/net/wireless/cisco/airo.c                  |    2 +-
 .../net/wireless/intersil/hostap/hostap_ioctl.c    |    2 +-
 drivers/net/wireless/marvell/libertas/main.c       |    2 +-
 drivers/rtc/rtc-imxdi.c                            |    2 +-
 drivers/scsi/dpt/dpti_i2o.h                        |    2 +-
 drivers/scsi/ips.c                                 |   12 +-
 drivers/scsi/ips.h                                 |    4 +-
 .../staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c |    6 +-
 .../staging/lustre/lnet/klnds/socklnd/socklnd_cb.c |    4 +-
 drivers/staging/lustre/lnet/libcfs/debug.c         |    2 +-
 drivers/staging/lustre/lnet/libcfs/tracefile.c     |    2 +-
 drivers/staging/lustre/lnet/lnet/lib-eq.c          |    2 +-
 drivers/staging/lustre/lnet/lnet/lib-socket.c      |    2 +-
 drivers/staging/lustre/lustre/fid/fid_request.c    |    6 +-
 drivers/staging/lustre/lustre/include/lustre_lib.h |    4 +-
 drivers/staging/lustre/lustre/llite/lcommon_cl.c   |    2 +-
 .../staging/lustre/lustre/lov/lov_cl_internal.h    |    2 +-
 drivers/staging/lustre/lustre/lov/lov_object.c     |    2 +-
 drivers/staging/lustre/lustre/obdclass/lu_object.c |    6 +-
 drivers/tty/synclink_gt.c                          |    2 +-
 drivers/vfio/virqfd.c                              |    2 +-
 drivers/vhost/vhost.c                              |    2 +-
 drivers/vhost/vhost.h                              |    2 +-
 drivers/xen/manage.c                               |    1 +
 fs/autofs4/autofs_i.h                              |    2 +-
 fs/autofs4/waitq.c                                 |   18 +-
 fs/cachefiles/internal.h                           |    4 +-
 fs/cachefiles/namei.c                              |    2 +-
 fs/cachefiles/rdwr.c                               |    4 +-
 fs/cifs/inode.c                                    |    1 +
 fs/dax.c                                           |    4 +-
 fs/eventfd.c                                       |    2 +-
 fs/eventpoll.c                                     |   12 +-
 fs/fs_pin.c                                        |    4 +-
 fs/inode.c                                         |    8 +-
 fs/jbd2/journal.c                                  |    4 +-
 fs/nfs/internal.h                                  |    1 +
 fs/nfs/nfs4proc.c                                  |    4 +-
 fs/nilfs2/segment.c                                |    5 +-
 fs/orangefs/orangefs-bufmap.c                      |   12 +-
 fs/reiserfs/journal.c                              |    2 +-
 fs/select.c                                        |    4 +-
 fs/signalfd.c                                      |    2 +-
 fs/userfaultfd.c                                   |   30 +-
 fs/xfs/xfs_icache.c                                |    4 +-
 fs/xfs/xfs_inode.c                                 |    8 +-
 include/linux/blk-mq.h                             |    2 +-
 include/linux/clocksource.h                        |    1 +
 include/linux/cpumask.h                            |   28 +
 include/linux/eventfd.h                            |    4 +-
 include/linux/fs.h                                 |    2 +-
 include/linux/kernel.h                             |    6 +-
 include/linux/kvm_irqfd.h                          |    2 +-
 include/linux/llist.h                              |   19 +
 include/linux/pagemap.h                            |    2 +-
 include/linux/poll.h                               |    2 +-
 include/linux/sched.h                              |   22 +-
 include/linux/sched/clock.h                        |   11 +-
 include/linux/sched/nohz.h                         |    8 +-
 include/linux/sched/task.h                         |    2 -
 include/linux/sunrpc/sched.h                       |    2 +-
 include/linux/vfio.h                               |    2 +-
 include/linux/wait.h                               | 1000 ++++++++------------
 include/linux/wait_bit.h                           |  261 +++++
 include/net/af_unix.h                              |    2 +-
 include/uapi/linux/auto_fs.h                       |    4 +-
 include/uapi/linux/auto_fs4.h                      |    4 +-
 include/uapi/linux/sched.h                         |    1 +
 init/Kconfig                                       |    1 +
 init/main.c                                        |   27 +-
 kernel/async.c                                     |    8 +-
 kernel/exit.c                                      |   17 +-
 kernel/extable.c                                   |    2 +-
 kernel/futex.c                                     |    2 +-
 kernel/printk/printk.c                             |    2 +-
 kernel/sched/Makefile                              |    6 +-
 kernel/sched/clock.c                               |  128 ++-
 kernel/sched/completion.c                          |    2 +-
 kernel/sched/core.c                                |  772 ++-------------
 kernel/sched/cputime.c                             |   16 +-
 kernel/sched/deadline.c                            |  894 ++++++++++++++++-
 kernel/sched/debug.c                               |   17 +-
 kernel/sched/fair.c                                |  451 ++++-----
 kernel/sched/features.h                            |    2 +-
 kernel/sched/idle.c                                |    1 +
 kernel/sched/loadavg.c                             |   51 +-
 kernel/sched/rt.c                                  |  323 ++++++-
 kernel/sched/sched.h                               |  113 ++-
 kernel/sched/topology.c                            |  430 +++++++--
 kernel/sched/wait.c                                |  441 ++-------
 kernel/sched/wait_bit.c                            |  286 ++++++
 kernel/smp.c                                       |   16 +-
 kernel/time/clocksource.c                          |    3 +
 kernel/time/tick-sched.c                           |   11 +-
 kernel/workqueue.c                                 |    4 +-
 lib/cpumask.c                                      |   32 +
 lib/smp_processor_id.c                             |    2 +-
 mm/filemap.c                                       |   12 +-
 mm/memcontrol.c                                    |   10 +-
 mm/mempool.c                                       |    2 +-
 mm/shmem.c                                         |    6 +-
 mm/vmscan.c                                        |    2 +-
 net/9p/trans_fd.c                                  |    4 +-
 net/bluetooth/bnep/core.c                          |    2 +-
 net/bluetooth/cmtp/core.c                          |    2 +-
 net/bluetooth/hidp/core.c                          |    2 +-
 net/core/datagram.c                                |    2 +-
 net/unix/af_unix.c                                 |    4 +-
 security/keys/internal.h                           |    1 +
 sound/core/control.c                               |    2 +-
 sound/core/hwdep.c                                 |    2 +-
 sound/core/init.c                                  |    2 +-
 sound/core/oss/pcm_oss.c                           |    4 +-
 sound/core/pcm_lib.c                               |    2 +-
 sound/core/pcm_native.c                            |    4 +-
 sound/core/rawmidi.c                               |    8 +-
 sound/core/seq/seq_fifo.c                          |    2 +-
 sound/core/seq/seq_memory.c                        |    2 +-
 sound/core/timer.c                                 |    2 +-
 sound/isa/wavefront/wavefront_synth.c              |    2 +-
 sound/pci/mixart/mixart_core.c                     |    4 +-
 sound/pci/ymfpci/ymfpci_main.c                     |    2 +-
 virt/kvm/eventfd.c                                 |    2 +-
 156 files changed, 3658 insertions(+), 2621 deletions(-)
 create mode 100644 include/linux/wait_bit.h
 create mode 100644 kernel/sched/wait_bit.c

[ ... diff skipped due to size ... ]

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ