[PATCH -mm 0/7][AIO] - AIO completion signal notification v6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  Hi Andrew,

  here is the latest rework of the aio notification and listio support
patches with comments from Oleg Nesterov and you addressed.

  Sébastien.

  This set now consists in 7 patches:

	1. rework-compat-sys-io-submit: cleanup the sys_io_submit() compat layer,
	   making it more efficient and laying out the base for the following patches

	2. aio-header-fix-includes: fixes the double inclusion of uio.h in aio.h

	3. aio-fix-access_ok-check: fixes the access_ok() checks

	4. make-good_sigevent-non-static: move good_sigevent into signal.c, rename
	   it to something more meaningfull and make it non-static

	5. make-__sigqueue_alloc-free-non-static: make __sigqueue_alloc() and
	   __sigqueue_free() non static

	6. aio-notify-sig: the AIO completion signal notification

	7. add-listio-syscall-support: adds listio support via a new syscall

  Description are in the individual patches.


  Changes from v5: based on comments from Oleg Nesterov and Andrew Morton

	- Fix for signo range not checked in the SIGEV_THREAD_ID case in
	  good_sigevent()
	- renamed good_sigevent() to sigevent_find_task()

	- Fixed the access_ok checks in sys_io_submit() and
	  compat_sys_io_submit()

	- Made __sigqueue_alloc() and __sigqueue_free() non static
	- Reworked the aio code to directly use __sigqueue_alloc() and
	  __sigqueue_free() and avoid messing with SIGQUEUE_PREALLOC

	- Removed the unneeded PF_EXITING check in aio_setup_sigevent()
	- Added a comment in aio_setup_sigevent() for why there is no task
	  ref leak
	- Changed read_lock(&tasklist_lock) to rcu_read_lock() in
	  aio_setup_sigevent()

	- Fixed an ioctx reference leak in compat_sys_lio_submit()
	- Renamed lio_check() as lio_notify()
	- Added comments to lio_notify() and lio_create()
	- Replaced sigqueue_free() by __sigqueue_free() in lio_notify()

  Changes from v4:
	No comments received for v4, so it must be perfect ;-)
	replaced the IOCB_CMD_GROUP listio implementation with Bharata's
	syscall approach which I find much cleaner.

  Changes from v3:

	- added justification for the compat_sys_io_submit() cleanup - Zach Brown
	- more cleanups in compat_sys_io_submit() to put it in line with
	  sys_io_submit() - Zach Brown

	- Changed "Export good_sigevent()" patch name to "Make good_sigevent()
	  non-static" to better describe what it does. - Christoph Hellwig
	- Reworked good_sigevent() to make it more readable. - Christoph Hellwig

	- Simplified the use of the SIGEV_* constants in signal notification -
	  Christoph Hellwig
	- Take a reference on the target task both for the SIGEV_THREAD_ID and
	  SIGEV_SIGNAL cases.

  Changes from v2:
	- rebased to 2.6.19-rc6-mm2
	- reworked the sys_io_submit() compat layer as suggested by Zach Brown
	- fixed saving of a pointer to a task struct in aio-notify-sig as
	  pointed out by Andrew Morton

  Changes from v1:
	- cleanups suggested by Christoph Hellwig, Badari Pulavarty and
	Zach Brown
	- added lisio patch


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux