[PATCH 00/11] V4: rwsem changes + down_read_critical() proposal

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Michel Lespinasse
Date: Monday, May 24, 2010 - 1:31 pm

This is version 4 of my rwsem changes.

Changes since V3:

- Split first x86 rwsem change in two smaller parts
- Added David's rwsem_waiter_type enum suggestion into
  'rwsem: down_read_critical infrastructure support'
- Lots of minor style fixes and comments clarified

I would hope the entire series can be considered for inclusion;
however if we can not agree on the down_read_critical() bits I would
still like patches 1-7 to be independently considered as I think they
still have merit on their own.

Michel Lespinasse (11):
  x86 rwsem: stay on fast path when count>0 in __up_write()
  x86 rwsem: minor cleanups
  rwsem: fully separate code pathes to wake writers vs readers
  rwsem: lighter active count checks when waking up readers
  rwsem: let RWSEM_WAITING_BIAS represent any number of waiting threads
  rwsem: wake queued readers when writer blocks on active read lock
  rwsem: smaller wrappers around rwsem_down_failed_common
  generic rwsem: implement down_read_critical() / up_read_critical()
  rwsem: down_read_critical infrastructure support
  x86 rwsem: down_read_critical implementation
  Use down_read_critical() for /proc/<pid>/exe and /proc/<pid>/maps files

 arch/x86/include/asm/rwsem.h   |   73 +++++++++++------
 arch/x86/lib/rwsem_64.S        |   14 +++-
 arch/x86/lib/semaphore_32.S    |   21 ++++-
 fs/proc/base.c                 |    4 +-
 fs/proc/task_mmu.c             |   24 ++++--
 include/linux/proc_fs.h        |    1 +
 include/linux/rwsem-spinlock.h |   10 ++-
 include/linux/rwsem.h          |   12 +++
 kernel/rwsem.c                 |   35 ++++++++
 lib/rwsem-spinlock.c           |   10 ++-
 lib/rwsem.c                    |  178 +++++++++++++++++++++++++---------------
 11 files changed, 276 insertions(+), 106 deletions(-)
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 00/11] V4: rwsem changes + down_read_critical() pro ..., Michel Lespinasse, (Mon May 24, 1:31 pm)
Re: [PATCH 00/11] V4: rwsem changes + down_read_critical() ..., Michel Lespinasse, (Tue May 25, 2:12 am)
Re: [PATCH 00/11] V4: rwsem changes + down_read_critical() ..., KAMEZAWA Hiroyuki, (Tue May 25, 6:23 pm)
Re: [PATCH 00/11] V4: rwsem changes + down_read_critical() ..., Michel Lespinasse, (Thu May 27, 3:59 am)
Re: [PATCH 00/11] V4: rwsem changes + down_read_critical() ..., Michel Lespinasse, (Thu May 27, 4:02 am)
Re: [PATCH 00/11] V4: rwsem changes + down_read_critical() ..., Michel Lespinasse, (Thu May 27, 4:47 am)