All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] scheduler changes for v4.13
@ 2017-07-03  8:39 Ingo Molnar
  2017-07-10  4:19 ` Florian Fainelli
  0 siblings, 1 reply; 11+ messages in thread
From: Ingo Molnar @ 2017-07-03  8:39 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Peter Zijlstra, Thomas Gleixner, H. Peter Anvin,
	Andrew Morton, Mike Galbraith

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 ... ]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] scheduler changes for v4.13
  2017-07-03  8:39 [GIT PULL] scheduler changes for v4.13 Ingo Molnar
@ 2017-07-10  4:19 ` Florian Fainelli
  2017-07-10  4:40   ` [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename Florian Fainelli
  2017-07-10  8:45   ` [GIT PULL] scheduler changes for v4.13 Ingo Molnar
  0 siblings, 2 replies; 11+ messages in thread
From: Florian Fainelli @ 2017-07-10  4:19 UTC (permalink / raw)
  To: Ingo Molnar, Linus Torvalds
  Cc: linux-kernel, Peter Zijlstra, Thomas Gleixner, H. Peter Anvin,
	Andrew Morton, Mike Galbraith

On 07/03/2017 01:39 AM, Ingo Molnar wrote:
> 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)

This commit ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f ("sched/wait:
Rename wait_queue_t => wait_queue_entry_t") ends up renaming the
autofs_packet_missing, autofs_packet_expire_multi and autofs_v5_packet
member previously named wait_queue_entry to wait_queue_entry_token. Was
it intentional to force an user space build breakage when building
against v4.13-rc headers for autofs headers?

Thanks
-- 
Florian

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename
  2017-07-10  4:19 ` Florian Fainelli
@ 2017-07-10  4:40   ` Florian Fainelli
  2017-07-10  8:45     ` Ingo Molnar
                       ` (3 more replies)
  2017-07-10  8:45   ` [GIT PULL] scheduler changes for v4.13 Ingo Molnar
  1 sibling, 4 replies; 11+ messages in thread
From: Florian Fainelli @ 2017-07-10  4:40 UTC (permalink / raw)
  To: linux-kernel
  Cc: torvalds, Florian Fainelli, Tomohiro Kusumi, Andrew Morton,
	Ian Kent, Ingo Molnar

This reverts commit ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f "("sched/wait:
Rename wait_queue_t => wait_queue_entry_t") as far as the autofs user API
structures are concerned since that would break user space build against such
kernel headers.

Fixes: ac6424b981bc ("sched/wait: Rename wait_queue_t => wait_queue_entry_t")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 include/uapi/linux/auto_fs.h  | 4 ++--
 include/uapi/linux/auto_fs4.h | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/uapi/linux/auto_fs.h b/include/uapi/linux/auto_fs.h
index 1953f8d6063b..aa63451ef20a 100644
--- a/include/uapi/linux/auto_fs.h
+++ b/include/uapi/linux/auto_fs.h
@@ -26,7 +26,7 @@
 #define AUTOFS_MIN_PROTO_VERSION	AUTOFS_PROTO_VERSION
 
 /*
- * The wait_queue_entry_token (autofs_wqt_t) is part of a structure which is passed
+ * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
  * back to the kernel via ioctl from userspace. On architectures where 32- and
  * 64-bit userspace binaries can be executed it's important that the size of
  * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we
@@ -49,7 +49,7 @@ struct autofs_packet_hdr {
 
 struct autofs_packet_missing {
 	struct autofs_packet_hdr hdr;
-	autofs_wqt_t wait_queue_entry_token;
+	autofs_wqt_t wait_queue_token;
 	int len;
 	char name[NAME_MAX+1];
 };	
diff --git a/include/uapi/linux/auto_fs4.h b/include/uapi/linux/auto_fs4.h
index 65b72d0222e7..7c6da423d54e 100644
--- a/include/uapi/linux/auto_fs4.h
+++ b/include/uapi/linux/auto_fs4.h
@@ -108,7 +108,7 @@ enum autofs_notify {
 /* v4 multi expire (via pipe) */
 struct autofs_packet_expire_multi {
 	struct autofs_packet_hdr hdr;
-	autofs_wqt_t wait_queue_entry_token;
+	autofs_wqt_t wait_queue_token;
 	int len;
 	char name[NAME_MAX+1];
 };
@@ -123,7 +123,7 @@ union autofs_packet_union {
 /* autofs v5 common packet struct */
 struct autofs_v5_packet {
 	struct autofs_packet_hdr hdr;
-	autofs_wqt_t wait_queue_entry_token;
+	autofs_wqt_t wait_queue_token;
 	__u32 dev;
 	__u64 ino;
 	__u32 uid;
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] scheduler changes for v4.13
  2017-07-10  4:19 ` Florian Fainelli
  2017-07-10  4:40   ` [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename Florian Fainelli
@ 2017-07-10  8:45   ` Ingo Molnar
  1 sibling, 0 replies; 11+ messages in thread
From: Ingo Molnar @ 2017-07-10  8:45 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: Linus Torvalds, linux-kernel, Peter Zijlstra, Thomas Gleixner,
	H. Peter Anvin, Andrew Morton, Mike Galbraith


* Florian Fainelli <f.fainelli@gmail.com> wrote:

> On 07/03/2017 01:39 AM, Ingo Molnar wrote:
> > 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)
> 
> This commit ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f ("sched/wait:
> Rename wait_queue_t => wait_queue_entry_t") ends up renaming the
> autofs_packet_missing, autofs_packet_expire_multi and autofs_v5_packet
> member previously named wait_queue_entry to wait_queue_entry_token. Was
> it intentional to force an user space build breakage when building
> against v4.13-rc headers for autofs headers?

Nope - mind sending a tested patch?

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename
  2017-07-10  4:40   ` [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename Florian Fainelli
@ 2017-07-10  8:45     ` Ingo Molnar
  2017-07-10  8:52     ` kbuild test robot
                       ` (2 subsequent siblings)
  3 siblings, 0 replies; 11+ messages in thread
From: Ingo Molnar @ 2017-07-10  8:45 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: linux-kernel, torvalds, Tomohiro Kusumi, Andrew Morton, Ian Kent


* Florian Fainelli <f.fainelli@gmail.com> wrote:

> This reverts commit ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f "("sched/wait:
> Rename wait_queue_t => wait_queue_entry_t") as far as the autofs user API
> structures are concerned since that would break user space build against such
> kernel headers.
> 
> Fixes: ac6424b981bc ("sched/wait: Rename wait_queue_t => wait_queue_entry_t")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>

Acked-by: Ingo Molnar <mingo@kernel.org>

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename
  2017-07-10  4:40   ` [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename Florian Fainelli
  2017-07-10  8:45     ` Ingo Molnar
@ 2017-07-10  8:52     ` kbuild test robot
  2017-07-10  9:42     ` kbuild test robot
  2017-07-10 14:01     ` Gabriel C
  3 siblings, 0 replies; 11+ messages in thread
From: kbuild test robot @ 2017-07-10  8:52 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: kbuild-all, linux-kernel, torvalds, Florian Fainelli,
	Tomohiro Kusumi, Andrew Morton, Ian Kent, Ingo Molnar

[-- Attachment #1: Type: text/plain, Size: 1701 bytes --]

Hi Florian,

[auto build test ERROR on linus/master]
[cannot apply to v4.12]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Florian-Fainelli/autofs-Revert-wait_queue_t-wait_queue_entry_t-rename/20170710-140256
config: x86_64-rhel (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   fs/autofs4/waitq.c: In function 'autofs4_notify_daemon':
>> fs/autofs4/waitq.c:123:5: error: 'struct autofs_packet_missing' has no member named 'wait_queue_entry_token'; did you mean 'wait_queue_token'?
      mp->wait_queue_entry_token = wq->wait_queue_entry_token;
        ^~
>> fs/autofs4/waitq.c:136:5: error: 'struct autofs_packet_expire_multi' has no member named 'wait_queue_entry_token'; did you mean 'wait_queue_token'?
      ep->wait_queue_entry_token = wq->wait_queue_entry_token;
        ^~
>> fs/autofs4/waitq.c:156:9: error: 'struct autofs_v5_packet' has no member named 'wait_queue_entry_token'; did you mean 'wait_queue_token'?
      packet->wait_queue_entry_token = wq->wait_queue_entry_token;
            ^~

vim +123 fs/autofs4/waitq.c


:::::: The code at line 123 was first introduced by commit
:::::: ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f sched/wait: Rename wait_queue_t => wait_queue_entry_t

:::::: TO: Ingo Molnar <mingo@kernel.org>
:::::: CC: Ingo Molnar <mingo@kernel.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 39441 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename
  2017-07-10  4:40   ` [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename Florian Fainelli
  2017-07-10  8:45     ` Ingo Molnar
  2017-07-10  8:52     ` kbuild test robot
@ 2017-07-10  9:42     ` kbuild test robot
  2017-07-10 14:01     ` Gabriel C
  3 siblings, 0 replies; 11+ messages in thread
From: kbuild test robot @ 2017-07-10  9:42 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: kbuild-all, linux-kernel, torvalds, Florian Fainelli,
	Tomohiro Kusumi, Andrew Morton, Ian Kent, Ingo Molnar

[-- Attachment #1: Type: text/plain, Size: 1415 bytes --]

Hi Florian,

[auto build test ERROR on linus/master]
[also build test ERROR on next-20170710]
[cannot apply to v4.12]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Florian-Fainelli/autofs-Revert-wait_queue_t-wait_queue_entry_t-rename/20170710-140256
config: x86_64-randconfig-b0-07101640 (attached as .config)
compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   fs/autofs4/waitq.c: In function 'autofs4_notify_daemon':
>> fs/autofs4/waitq.c:123: error: 'struct autofs_packet_missing' has no member named 'wait_queue_entry_token'
>> fs/autofs4/waitq.c:136: error: 'struct autofs_packet_expire_multi' has no member named 'wait_queue_entry_token'
>> fs/autofs4/waitq.c:156: error: 'struct autofs_v5_packet' has no member named 'wait_queue_entry_token'

vim +123 fs/autofs4/waitq.c


:::::: The code at line 123 was first introduced by commit
:::::: ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f sched/wait: Rename wait_queue_t => wait_queue_entry_t

:::::: TO: Ingo Molnar <mingo@kernel.org>
:::::: CC: Ingo Molnar <mingo@kernel.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 26201 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename
  2017-07-10  4:40   ` [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename Florian Fainelli
                       ` (2 preceding siblings ...)
  2017-07-10  9:42     ` kbuild test robot
@ 2017-07-10 14:01     ` Gabriel C
  2017-07-10 15:52       ` Florian Fainelli
  2017-07-10 18:47       ` Linus Torvalds
  3 siblings, 2 replies; 11+ messages in thread
From: Gabriel C @ 2017-07-10 14:01 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: LKML, Linus Torvalds, Tomohiro Kusumi, Andrew Morton, Ian Kent,
	Ingo Molnar

Hi,

2017-07-10 6:40 GMT+02:00 Florian Fainelli <f.fainelli@gmail.com>:
> This reverts commit ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f "("sched/wait:
> Rename wait_queue_t => wait_queue_entry_t") as far as the autofs user API
> structures are concerned since that would break user space build against such
> kernel headers.
>
> Fixes: ac6424b981bc ("sched/wait: Rename wait_queue_t => wait_queue_entry_t")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
>  include/uapi/linux/auto_fs.h  | 4 ++--
>  include/uapi/linux/auto_fs4.h | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)

You need revert a lot more .. that won't even compile.

Looks like someone used some script to convert these :)

Something like this :

>From 35d689b39286f94ded7609b5bed9ff0232958f9d Mon Sep 17 00:00:00 2001
From: Gabriel Craciunescu <crazy@frugalware.org>
Date: Mon, 10 Jul 2017 15:48:57 +0200
Subject: [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename

This reverts aufs parts of commit ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f
"("sched/wait: Rename wait_queue_t => wait_queue_entry_t") as far as the
autofs user API structures are concerned since that would break user space
build against such kernel headers.

Fixes: ac6424b981bc ("sched/wait: Rename wait_queue_t => wait_queue_entry_t")
Signed-off-by: Gabriel Craciunescu <nix.or.die@gmail.com>
---
 Documentation/filesystems/autofs4.txt | 12 ++++++------
 fs/autofs4/autofs_i.h                 |  2 +-
 fs/autofs4/waitq.c                    | 18 +++++++++---------
 include/uapi/linux/auto_fs.h          |  4 ++--
 include/uapi/linux/auto_fs4.h         |  4 ++--
 5 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/Documentation/filesystems/autofs4.txt
b/Documentation/filesystems/autofs4.txt
index 8444dc3d57e8..f10dd590f69f 100644
--- a/Documentation/filesystems/autofs4.txt
+++ b/Documentation/filesystems/autofs4.txt
@@ -316,7 +316,7 @@ For version 5, the format of the message is:
         struct autofs_v5_packet {
                 int proto_version;                /* Protocol version */
                 int type;                        /* Type of packet */
-                autofs_wqt_t wait_queue_entry_token;
+                autofs_wqt_t wait_queue_token;
                 __u32 dev;
                 __u64 ino;
                 __u32 uid;
@@ -341,12 +341,12 @@ The pipe will be set to "packet mode"
(equivalent to passing
 `O_DIRECT`) to _pipe2(2)_ so that a read from the pipe will return at
 most one packet, and any unread portion of a packet will be discarded.

-The `wait_queue_entry_token` is a unique number which can identify a
+The `wait_queue_token` is a unique number which can identify a
 particular request to be acknowledged.  When a message is sent over
 the pipe the affected dentry is marked as either "active" or
 "expiring" and other accesses to it block until the message is
 acknowledged using one of the ioctls below and the relevant
-`wait_queue_entry_token`.
+`wait_queue_token`.

 Communicating with autofs: root directory ioctls
 ------------------------------------------------
@@ -358,7 +358,7 @@ capability, or must be the automount daemon.
 The available ioctl commands are:

 - **AUTOFS_IOC_READY**: a notification has been handled.  The argument
-    to the ioctl command is the "wait_queue_entry_token" number
+    to the ioctl command is the "wait_queue_token" number
     corresponding to the notification being acknowledged.
 - **AUTOFS_IOC_FAIL**: similar to above, but indicates failure with
     the error code `ENOENT`.
@@ -382,14 +382,14 @@ The available ioctl commands are:
         struct autofs_packet_expire_multi {
                 int proto_version;              /* Protocol version */
                 int type;                       /* Type of packet */
-                autofs_wqt_t wait_queue_entry_token;
+                autofs_wqt_t wait_queue_token;
                 int len;
                 char name[NAME_MAX+1];
         };

      is required.  This is filled in with the name of something
      that can be unmounted or removed.  If nothing can be expired,
-     `errno` is set to `EAGAIN`.  Even though a `wait_queue_entry_token`
+     `errno` is set to `EAGAIN`.  Even though a `wait_queue_token`
      is present in the structure, no "wait queue" is established
      and no acknowledgment is needed.
 - **AUTOFS_IOC_EXPIRE_MULTI**:  This is similar to
diff --git a/fs/autofs4/autofs_i.h b/fs/autofs4/autofs_i.h
index 974f5346458a..beef981aa54f 100644
--- a/fs/autofs4/autofs_i.h
+++ b/fs/autofs4/autofs_i.h
@@ -83,7 +83,7 @@ struct autofs_info {
 struct autofs_wait_queue {
  wait_queue_head_t queue;
  struct autofs_wait_queue *next;
- autofs_wqt_t wait_queue_entry_token;
+ autofs_wqt_t wait_queue_token;
  /* We use the following to see what we are waiting for */
  struct qstr name;
  u32 dev;
diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
index 7071895b0678..24a58bf9ca72 100644
--- a/fs/autofs4/waitq.c
+++ b/fs/autofs4/waitq.c
@@ -104,7 +104,7 @@ static void autofs4_notify_daemon(struct
autofs_sb_info *sbi,
  size_t pktsz;

  pr_debug("wait id = 0x%08lx, name = %.*s, type=%d\n",
- (unsigned long) wq->wait_queue_entry_token,
+ (unsigned long) wq->wait_queue_token,
  wq->name.len, wq->name.name, type);

  memset(&pkt, 0, sizeof(pkt)); /* For security reasons */
@@ -120,7 +120,7 @@ static void autofs4_notify_daemon(struct
autofs_sb_info *sbi,

  pktsz = sizeof(*mp);

- mp->wait_queue_entry_token = wq->wait_queue_entry_token;
+ mp->wait_queue_token = wq->wait_queue_token;
  mp->len = wq->name.len;
  memcpy(mp->name, wq->name.name, wq->name.len);
  mp->name[wq->name.len] = '\0';
@@ -133,7 +133,7 @@ static void autofs4_notify_daemon(struct
autofs_sb_info *sbi,

  pktsz = sizeof(*ep);

- ep->wait_queue_entry_token = wq->wait_queue_entry_token;
+ ep->wait_queue_token = wq->wait_queue_token;
  ep->len = wq->name.len;
  memcpy(ep->name, wq->name.name, wq->name.len);
  ep->name[wq->name.len] = '\0';
@@ -153,7 +153,7 @@ static void autofs4_notify_daemon(struct
autofs_sb_info *sbi,

  pktsz = sizeof(*packet);

- packet->wait_queue_entry_token = wq->wait_queue_entry_token;
+ packet->wait_queue_token = wq->wait_queue_token;
  packet->len = wq->name.len;
  memcpy(packet->name, wq->name.name, wq->name.len);
  packet->name[wq->name.len] = '\0';
@@ -428,7 +428,7 @@ int autofs4_wait(struct autofs_sb_info *sbi,
  return -ENOMEM;
  }

- wq->wait_queue_entry_token = autofs4_next_wait_queue;
+ wq->wait_queue_token = autofs4_next_wait_queue;
  if (++autofs4_next_wait_queue == 0)
  autofs4_next_wait_queue = 1;
  wq->next = sbi->queues;
@@ -461,7 +461,7 @@ int autofs4_wait(struct autofs_sb_info *sbi,
  }

  pr_debug("new wait id = 0x%08lx, name = %.*s, nfy=%d\n",
- (unsigned long) wq->wait_queue_entry_token, wq->name.len,
+ (unsigned long) wq->wait_queue_token, wq->name.len,
  wq->name.name, notify);

  /*
@@ -471,7 +471,7 @@ int autofs4_wait(struct autofs_sb_info *sbi,
  } else {
  wq->wait_ctr++;
  pr_debug("existing wait id = 0x%08lx, name = %.*s, nfy=%d\n",
- (unsigned long) wq->wait_queue_entry_token, wq->name.len,
+ (unsigned long) wq->wait_queue_token, wq->name.len,
  wq->name.name, notify);
  mutex_unlock(&sbi->wq_mutex);
  kfree(qstr.name);
@@ -550,13 +550,13 @@ int autofs4_wait(struct autofs_sb_info *sbi,
 }


-int autofs4_wait_release(struct autofs_sb_info *sbi, autofs_wqt_t
wait_queue_entry_token, int status)
+int autofs4_wait_release(struct autofs_sb_info *sbi, autofs_wqt_t
wait_queue_token, int status)
 {
  struct autofs_wait_queue *wq, **wql;

  mutex_lock(&sbi->wq_mutex);
  for (wql = &sbi->queues; (wq = *wql) != NULL; wql = &wq->next) {
- if (wq->wait_queue_entry_token == wait_queue_entry_token)
+ if (wq->wait_queue_token == wait_queue_token)
  break;
  }

diff --git a/include/uapi/linux/auto_fs.h b/include/uapi/linux/auto_fs.h
index 1953f8d6063b..aa63451ef20a 100644
--- a/include/uapi/linux/auto_fs.h
+++ b/include/uapi/linux/auto_fs.h
@@ -26,7 +26,7 @@
 #define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION

 /*
- * The wait_queue_entry_token (autofs_wqt_t) is part of a structure
which is passed
+ * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
  * back to the kernel via ioctl from userspace. On architectures where 32- and
  * 64-bit userspace binaries can be executed it's important that the size of
  * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we
@@ -49,7 +49,7 @@ struct autofs_packet_hdr {

 struct autofs_packet_missing {
  struct autofs_packet_hdr hdr;
- autofs_wqt_t wait_queue_entry_token;
+ autofs_wqt_t wait_queue_token;
  int len;
  char name[NAME_MAX+1];
 };
diff --git a/include/uapi/linux/auto_fs4.h b/include/uapi/linux/auto_fs4.h
index 65b72d0222e7..7c6da423d54e 100644
--- a/include/uapi/linux/auto_fs4.h
+++ b/include/uapi/linux/auto_fs4.h
@@ -108,7 +108,7 @@ enum autofs_notify {
 /* v4 multi expire (via pipe) */
 struct autofs_packet_expire_multi {
  struct autofs_packet_hdr hdr;
- autofs_wqt_t wait_queue_entry_token;
+ autofs_wqt_t wait_queue_token;
  int len;
  char name[NAME_MAX+1];
 };
@@ -123,7 +123,7 @@ union autofs_packet_union {
 /* autofs v5 common packet struct */
 struct autofs_v5_packet {
  struct autofs_packet_hdr hdr;
- autofs_wqt_t wait_queue_entry_token;
+ autofs_wqt_t wait_queue_token;
  __u32 dev;
  __u64 ino;
  __u32 uid;
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename
  2017-07-10 14:01     ` Gabriel C
@ 2017-07-10 15:52       ` Florian Fainelli
  2017-07-10 18:47       ` Linus Torvalds
  1 sibling, 0 replies; 11+ messages in thread
From: Florian Fainelli @ 2017-07-10 15:52 UTC (permalink / raw)
  To: Gabriel C
  Cc: LKML, Linus Torvalds, Tomohiro Kusumi, Andrew Morton, Ian Kent,
	Ingo Molnar

On 07/10/2017 07:01 AM, Gabriel C wrote:
> Hi,
> 
> 2017-07-10 6:40 GMT+02:00 Florian Fainelli <f.fainelli@gmail.com>:
>> This reverts commit ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f "("sched/wait:
>> Rename wait_queue_t => wait_queue_entry_t") as far as the autofs user API
>> structures are concerned since that would break user space build against such
>> kernel headers.
>>
>> Fixes: ac6424b981bc ("sched/wait: Rename wait_queue_t => wait_queue_entry_t")
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>> ---
>>  include/uapi/linux/auto_fs.h  | 4 ++--
>>  include/uapi/linux/auto_fs4.h | 4 ++--
>>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> You need revert a lot more .. that won't even compile.

Right, sorry for the sloppy submission.

> 
> Looks like someone used some script to convert these :)
> 
> Something like this :
> 
> From 35d689b39286f94ded7609b5bed9ff0232958f9d Mon Sep 17 00:00:00 2001
> From: Gabriel Craciunescu <crazy@frugalware.org>
> Date: Mon, 10 Jul 2017 15:48:57 +0200
> Subject: [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename
> 
> This reverts aufs parts of commit ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f
> "("sched/wait: Rename wait_queue_t => wait_queue_entry_t") as far as the
> autofs user API structures are concerned since that would break user space
> build against such kernel headers.
> 
> Fixes: ac6424b981bc ("sched/wait: Rename wait_queue_t => wait_queue_entry_t")
> Signed-off-by: Gabriel Craciunescu <nix.or.die@gmail.com>

Reported-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>

Thanks!

> ---
>  Documentation/filesystems/autofs4.txt | 12 ++++++------
>  fs/autofs4/autofs_i.h                 |  2 +-
>  fs/autofs4/waitq.c                    | 18 +++++++++---------
>  include/uapi/linux/auto_fs.h          |  4 ++--
>  include/uapi/linux/auto_fs4.h         |  4 ++--
>  5 files changed, 20 insertions(+), 20 deletions(-)
> 
> diff --git a/Documentation/filesystems/autofs4.txt
> b/Documentation/filesystems/autofs4.txt
> index 8444dc3d57e8..f10dd590f69f 100644
> --- a/Documentation/filesystems/autofs4.txt
> +++ b/Documentation/filesystems/autofs4.txt
> @@ -316,7 +316,7 @@ For version 5, the format of the message is:
>          struct autofs_v5_packet {
>                  int proto_version;                /* Protocol version */
>                  int type;                        /* Type of packet */
> -                autofs_wqt_t wait_queue_entry_token;
> +                autofs_wqt_t wait_queue_token;
>                  __u32 dev;
>                  __u64 ino;
>                  __u32 uid;
> @@ -341,12 +341,12 @@ The pipe will be set to "packet mode"
> (equivalent to passing
>  `O_DIRECT`) to _pipe2(2)_ so that a read from the pipe will return at
>  most one packet, and any unread portion of a packet will be discarded.
> 
> -The `wait_queue_entry_token` is a unique number which can identify a
> +The `wait_queue_token` is a unique number which can identify a
>  particular request to be acknowledged.  When a message is sent over
>  the pipe the affected dentry is marked as either "active" or
>  "expiring" and other accesses to it block until the message is
>  acknowledged using one of the ioctls below and the relevant
> -`wait_queue_entry_token`.
> +`wait_queue_token`.
> 
>  Communicating with autofs: root directory ioctls
>  ------------------------------------------------
> @@ -358,7 +358,7 @@ capability, or must be the automount daemon.
>  The available ioctl commands are:
> 
>  - **AUTOFS_IOC_READY**: a notification has been handled.  The argument
> -    to the ioctl command is the "wait_queue_entry_token" number
> +    to the ioctl command is the "wait_queue_token" number
>      corresponding to the notification being acknowledged.
>  - **AUTOFS_IOC_FAIL**: similar to above, but indicates failure with
>      the error code `ENOENT`.
> @@ -382,14 +382,14 @@ The available ioctl commands are:
>          struct autofs_packet_expire_multi {
>                  int proto_version;              /* Protocol version */
>                  int type;                       /* Type of packet */
> -                autofs_wqt_t wait_queue_entry_token;
> +                autofs_wqt_t wait_queue_token;
>                  int len;
>                  char name[NAME_MAX+1];
>          };
> 
>       is required.  This is filled in with the name of something
>       that can be unmounted or removed.  If nothing can be expired,
> -     `errno` is set to `EAGAIN`.  Even though a `wait_queue_entry_token`
> +     `errno` is set to `EAGAIN`.  Even though a `wait_queue_token`
>       is present in the structure, no "wait queue" is established
>       and no acknowledgment is needed.
>  - **AUTOFS_IOC_EXPIRE_MULTI**:  This is similar to
> diff --git a/fs/autofs4/autofs_i.h b/fs/autofs4/autofs_i.h
> index 974f5346458a..beef981aa54f 100644
> --- a/fs/autofs4/autofs_i.h
> +++ b/fs/autofs4/autofs_i.h
> @@ -83,7 +83,7 @@ struct autofs_info {
>  struct autofs_wait_queue {
>   wait_queue_head_t queue;
>   struct autofs_wait_queue *next;
> - autofs_wqt_t wait_queue_entry_token;
> + autofs_wqt_t wait_queue_token;
>   /* We use the following to see what we are waiting for */
>   struct qstr name;
>   u32 dev;
> diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
> index 7071895b0678..24a58bf9ca72 100644
> --- a/fs/autofs4/waitq.c
> +++ b/fs/autofs4/waitq.c
> @@ -104,7 +104,7 @@ static void autofs4_notify_daemon(struct
> autofs_sb_info *sbi,
>   size_t pktsz;
> 
>   pr_debug("wait id = 0x%08lx, name = %.*s, type=%d\n",
> - (unsigned long) wq->wait_queue_entry_token,
> + (unsigned long) wq->wait_queue_token,
>   wq->name.len, wq->name.name, type);
> 
>   memset(&pkt, 0, sizeof(pkt)); /* For security reasons */
> @@ -120,7 +120,7 @@ static void autofs4_notify_daemon(struct
> autofs_sb_info *sbi,
> 
>   pktsz = sizeof(*mp);
> 
> - mp->wait_queue_entry_token = wq->wait_queue_entry_token;
> + mp->wait_queue_token = wq->wait_queue_token;
>   mp->len = wq->name.len;
>   memcpy(mp->name, wq->name.name, wq->name.len);
>   mp->name[wq->name.len] = '\0';
> @@ -133,7 +133,7 @@ static void autofs4_notify_daemon(struct
> autofs_sb_info *sbi,
> 
>   pktsz = sizeof(*ep);
> 
> - ep->wait_queue_entry_token = wq->wait_queue_entry_token;
> + ep->wait_queue_token = wq->wait_queue_token;
>   ep->len = wq->name.len;
>   memcpy(ep->name, wq->name.name, wq->name.len);
>   ep->name[wq->name.len] = '\0';
> @@ -153,7 +153,7 @@ static void autofs4_notify_daemon(struct
> autofs_sb_info *sbi,
> 
>   pktsz = sizeof(*packet);
> 
> - packet->wait_queue_entry_token = wq->wait_queue_entry_token;
> + packet->wait_queue_token = wq->wait_queue_token;
>   packet->len = wq->name.len;
>   memcpy(packet->name, wq->name.name, wq->name.len);
>   packet->name[wq->name.len] = '\0';
> @@ -428,7 +428,7 @@ int autofs4_wait(struct autofs_sb_info *sbi,
>   return -ENOMEM;
>   }
> 
> - wq->wait_queue_entry_token = autofs4_next_wait_queue;
> + wq->wait_queue_token = autofs4_next_wait_queue;
>   if (++autofs4_next_wait_queue == 0)
>   autofs4_next_wait_queue = 1;
>   wq->next = sbi->queues;
> @@ -461,7 +461,7 @@ int autofs4_wait(struct autofs_sb_info *sbi,
>   }
> 
>   pr_debug("new wait id = 0x%08lx, name = %.*s, nfy=%d\n",
> - (unsigned long) wq->wait_queue_entry_token, wq->name.len,
> + (unsigned long) wq->wait_queue_token, wq->name.len,
>   wq->name.name, notify);
> 
>   /*
> @@ -471,7 +471,7 @@ int autofs4_wait(struct autofs_sb_info *sbi,
>   } else {
>   wq->wait_ctr++;
>   pr_debug("existing wait id = 0x%08lx, name = %.*s, nfy=%d\n",
> - (unsigned long) wq->wait_queue_entry_token, wq->name.len,
> + (unsigned long) wq->wait_queue_token, wq->name.len,
>   wq->name.name, notify);
>   mutex_unlock(&sbi->wq_mutex);
>   kfree(qstr.name);
> @@ -550,13 +550,13 @@ int autofs4_wait(struct autofs_sb_info *sbi,
>  }
> 
> 
> -int autofs4_wait_release(struct autofs_sb_info *sbi, autofs_wqt_t
> wait_queue_entry_token, int status)
> +int autofs4_wait_release(struct autofs_sb_info *sbi, autofs_wqt_t
> wait_queue_token, int status)
>  {
>   struct autofs_wait_queue *wq, **wql;
> 
>   mutex_lock(&sbi->wq_mutex);
>   for (wql = &sbi->queues; (wq = *wql) != NULL; wql = &wq->next) {
> - if (wq->wait_queue_entry_token == wait_queue_entry_token)
> + if (wq->wait_queue_token == wait_queue_token)
>   break;
>   }
> 
> diff --git a/include/uapi/linux/auto_fs.h b/include/uapi/linux/auto_fs.h
> index 1953f8d6063b..aa63451ef20a 100644
> --- a/include/uapi/linux/auto_fs.h
> +++ b/include/uapi/linux/auto_fs.h
> @@ -26,7 +26,7 @@
>  #define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION
> 
>  /*
> - * The wait_queue_entry_token (autofs_wqt_t) is part of a structure
> which is passed
> + * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
>   * back to the kernel via ioctl from userspace. On architectures where 32- and
>   * 64-bit userspace binaries can be executed it's important that the size of
>   * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we
> @@ -49,7 +49,7 @@ struct autofs_packet_hdr {
> 
>  struct autofs_packet_missing {
>   struct autofs_packet_hdr hdr;
> - autofs_wqt_t wait_queue_entry_token;
> + autofs_wqt_t wait_queue_token;
>   int len;
>   char name[NAME_MAX+1];
>  };
> diff --git a/include/uapi/linux/auto_fs4.h b/include/uapi/linux/auto_fs4.h
> index 65b72d0222e7..7c6da423d54e 100644
> --- a/include/uapi/linux/auto_fs4.h
> +++ b/include/uapi/linux/auto_fs4.h
> @@ -108,7 +108,7 @@ enum autofs_notify {
>  /* v4 multi expire (via pipe) */
>  struct autofs_packet_expire_multi {
>   struct autofs_packet_hdr hdr;
> - autofs_wqt_t wait_queue_entry_token;
> + autofs_wqt_t wait_queue_token;
>   int len;
>   char name[NAME_MAX+1];
>  };
> @@ -123,7 +123,7 @@ union autofs_packet_union {
>  /* autofs v5 common packet struct */
>  struct autofs_v5_packet {
>   struct autofs_packet_hdr hdr;
> - autofs_wqt_t wait_queue_entry_token;
> + autofs_wqt_t wait_queue_token;
>   __u32 dev;
>   __u64 ino;
>   __u32 uid;
> 


-- 
Florian

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename
  2017-07-10 14:01     ` Gabriel C
  2017-07-10 15:52       ` Florian Fainelli
@ 2017-07-10 18:47       ` Linus Torvalds
  2017-07-10 23:00         ` Florian Fainelli
  1 sibling, 1 reply; 11+ messages in thread
From: Linus Torvalds @ 2017-07-10 18:47 UTC (permalink / raw)
  To: Gabriel C
  Cc: Florian Fainelli, LKML, Tomohiro Kusumi, Andrew Morton, Ian Kent,
	Ingo Molnar

On Mon, Jul 10, 2017 at 7:01 AM, Gabriel C <nix.or.die@gmail.com> wrote:
>
> You need revert a lot more .. that won't even compile.
>
> Looks like someone used some script to convert these :)
>
> Something like this :

Gaah, I just committed my own scripted fixup:

        git grep -lw wait_queue_entry_token |
            xargs sed -i 's/wait_queue_entry_token/wait_queue_token/g'

which seems to match your patch (and that I visually inspected doesn't
change anything but wait_queue_entry_token - there were no odd even
bigger names ;)

             Linus

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename
  2017-07-10 18:47       ` Linus Torvalds
@ 2017-07-10 23:00         ` Florian Fainelli
  0 siblings, 0 replies; 11+ messages in thread
From: Florian Fainelli @ 2017-07-10 23:00 UTC (permalink / raw)
  To: Linus Torvalds, Gabriel C
  Cc: LKML, Tomohiro Kusumi, Andrew Morton, Ian Kent, Ingo Molnar

On 07/10/2017 11:47 AM, Linus Torvalds wrote:
> On Mon, Jul 10, 2017 at 7:01 AM, Gabriel C <nix.or.die@gmail.com> wrote:
>>
>> You need revert a lot more .. that won't even compile.
>>
>> Looks like someone used some script to convert these :)
>>
>> Something like this :
> 
> Gaah, I just committed my own scripted fixup:
> 
>         git grep -lw wait_queue_entry_token |
>             xargs sed -i 's/wait_queue_entry_token/wait_queue_token/g'
> 
> which seems to match your patch (and that I visually inspected doesn't
> change anything but wait_queue_entry_token - there were no odd even
> bigger names ;)

Looks good, thanks for the quick fix.
-- 
Florian

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2017-07-10 23:00 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-03  8:39 [GIT PULL] scheduler changes for v4.13 Ingo Molnar
2017-07-10  4:19 ` Florian Fainelli
2017-07-10  4:40   ` [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename Florian Fainelli
2017-07-10  8:45     ` Ingo Molnar
2017-07-10  8:52     ` kbuild test robot
2017-07-10  9:42     ` kbuild test robot
2017-07-10 14:01     ` Gabriel C
2017-07-10 15:52       ` Florian Fainelli
2017-07-10 18:47       ` Linus Torvalds
2017-07-10 23:00         ` Florian Fainelli
2017-07-10  8:45   ` [GIT PULL] scheduler changes for v4.13 Ingo Molnar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.