Skip to content
Snippets Groups Projects
Select Git revision
  • 2314e15b6110d34f84fc518217e6bc5660bdd05b
  • master default protected
  • android-msm-bullhead-3.10-nougat_kgdb_less_changes
  • android-msm-bullhead-3.10-nougat_kgdb
  • android-msm-bullhead-3.10-nougat_klist
  • android-4.4
  • android-msm-vega-4.4-oreo-daydream
  • android-msm-wahoo-4.4-p-preview-5
  • android-msm-wahoo-4.4-pie
  • android-msm-marlin-3.18-p-preview-5
  • android-msm-marlin-3.18-pie
  • android-msm-wahoo-2018.07-oreo-m2
  • android-msm-wahoo-2018.07-oreo-m4
  • android-msm-wahoo-4.4-p-preview-4
  • android-msm-bullhead-3.10-oreo-m6
  • android-msm-angler-3.10-oreo-m6
  • android-msm-marlin-3.18-p-preview-4
  • android-msm-stargazer-3.18-oreo-wear-dr
  • android-msm-catshark-3.18-oreo-wear-dr
  • android-msm-wahoo-4.4-oreo-m2
  • android-msm-wahoo-4.4-oreo-m4
  • android-daydreamos-8.0.0_r0.5
  • android-8.1.0_r0.92
  • android-8.1.0_r0.91
  • android-daydreamos-8.0.0_r0.4
  • android-p-preview-5_r0.2
  • android-p-preview-5_r0.1
  • android-9.0.0_r0.5
  • android-9.0.0_r0.4
  • android-9.0.0_r0.2
  • android-9.0.0_r0.1
  • android-8.1.0_r0.81
  • android-8.1.0_r0.80
  • android-8.1.0_r0.78
  • android-8.1.0_r0.76
  • android-8.1.0_r0.75
  • android-8.1.0_r0.72
  • android-8.1.0_r0.70
  • android-p-preview-4_r0.2
  • android-p-preview-4_r0.1
  • android-wear-8.0.0_r0.30
41 results

ipc

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Manfred Spraul authored and Linus Torvalds committed
    do_smart_update_queue() is called when an operation (semop,
    semctl(SETVAL), semctl(SETALL), ...) modified the array.  It must check
    which of the sleeping tasks can proceed.
    
    do_smart_update_queue() missed a few wakeups:
     - if a sleeping complex op was completed, then all per-semaphore queues
       must be scanned - not only those that were modified by *sops
     - if a sleeping simple op proceeded, then the global queue must be
       scanned again
    
    And:
     - the test for "|sops == NULL) before scanning the global queue is not
       required: If the global queue is empty, then it doesn't need to be
       scanned - regardless of the reason for calling do_smart_update_queue()
    
    The patch is not optimized, i.e.  even completing a wait-for-zero
    operation causes a rescan.  This is done to keep the patch as simple as
    possible.
    
    Signed-off-by: default avatarManfred Spraul <manfred@colorfullife.com>
    Acked-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    ab465df9
    History
    Name Last commit Last update
    ..