All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: linux-kernel@vger.kernel.org
Subject: What's in linux-2.6-block.git
Date: Tue, 12 Sep 2006 12:11:41 +0200	[thread overview]
Message-ID: <20060912101141.GA19018@kernel.dk> (raw)

Hi,

This lists the main features of the 'block' branch, which is bound for
Linus when 2.6.19 opens:

- Splitting of request->flags into two parts:
	- cmd type
	- modified flags
  Right now it's a bit of a mess, splitting this up invites a cleaner
  usage and also enables us to implement generic "messages" passed on
  the regular queue for the device.

- Abstract out the request back merging and put it into the core io
  scheduler layer. Cleans up all the io schedulers, and noop gets
  merging for "free".

- Abstract out the rbtree sorting. Gets rid of duplicated code in
  as/cfq/deadline.

- General shrinkage of the request structure.

- Killing dynamic rq private structures in deadline/as/cfq. This should
  speed up the io path somewhat, as we avoid allocating several
  structures (struct request + scheduler private request) for each io
  request.

- meta data io logging for blktrace.

- CFQ improvements.

- Make the block layer configurable through Kconfig (David Howells).

- Lots of cleanups.

The repo can be found here:

  git://git.kernel.dk/data/git/linux-2.6-block.git

Andrew Morton:
      CONFIG_BLOCK internal.h cleanups
      CONFIG_BLOCK: blk_congestion_wait() fix

David Howells:
      BLOCK: Move functions out of buffer code [try #6]
      BLOCK: Remove duplicate declaration of exit_io_context() [try #6]
      BLOCK: Stop fallback_migrate_page() from using page_has_buffers() [try #6]
      BLOCK: Separate the bounce buffering code from the highmem code [try #6]
      BLOCK: Don't call block_sync_page() from AFS [try #6]
      BLOCK: Move extern declarations out of fs/*.c into header files [try #6]
      BLOCK: Remove dependence on existence of blockdev_superblock [try #6]
      BLOCK: Dissociate generic_writepages() from mpage stuff [try #6]
      BLOCK: Move __invalidate_device() to block_dev.c [try #6]
      BLOCK: Move the loop device ioctl compat stuff to the loop driver [try #6]
      BLOCK: Move common FS-specific ioctls to linux/fs.h [try #6]
      BLOCK: Move the ReiserFS device ioctl compat stuff to the ReiserFS driver [try #6]
      BLOCK: Move the Ext2 device ioctl compat stuff to the Ext2 driver [try #6]
      BLOCK: Move the Ext3 device ioctl compat stuff to the Ext3 driver [try #6]
      BLOCK: Move the msdos device ioctl compat stuff to the msdos driver [try #6]
      BLOCK: Remove no-longer necessary linux/mpage.h inclusions [try #6]
      BLOCK: Remove no-longer necessary linux/buffer_head.h inclusions [try #6]
      BLOCK: Make it possible to disable the block layer [try #6]
      BLOCK: Make USB storage depend on SCSI rather than selecting it [try #6]

Jens Axboe:
      Split struct request ->flags into two parts
      elevator: move the backmerging logic into the elevator core
      rbtree: fixed reversed RB_EMPTY_NODE and rb_next/prev
      elevator: abstract out the rbtree sort handling
      as-iosched: migrate to using the elevator rb functions
      cfq-iosched: migrate to using the elevator rb functions
      deadline-iosched: migrate to using the elevator rb functions
      elevator: introduce a way to reuse rq for internal FIFO handling
      cfq-iosched: convert to using the FIFO elevator defines
      as-iosched: reuse rq for fifo
      as-iosched: remove arq->is_sync member
      deadline-iosched: remove elevator private drq request type
      cfq-iosched: remove the crq flag functions/variable
      Add one more pointer to struct request for IO scheduler usage
      cfq-iosched: kill crq
      as-iosched: kill arq
      Remove ->waiting member from struct request
      Remove struct request_list from struct request
      Remove ->rq_status from struct request
      Drop useless bio passing in may_queue/set_request API
      ll_rw_blk: cleanup __make_request()
      struct request: shrink and optimize some more
      cfq-iosched: cleanups, fixes, dead code removal
      cfq-iosched: kill cfq_exit_lock
      elevator: define ioc counting mechanism
      as-iosched: use new io context counting mechanism
      cfq-iosched: use new io context counting mechanism
      Audit block layer inlines
      Kill various deprecated/unused block layer defines/functions
      Make sure all block/io scheduler setups are node aware
      cfq-iosched: Kill O(N) runtime of cfq_resort_rr_list()
      cfq-iosched: kill the empty_list
      Add blk_start_queueing() helper
      cfq-iosched: improve queue preemption
      ll_rw_blk: allow more flexibility for read_ahead_kb store
      Allow file systems to differentiate between data and meta reads
      ext3: make meta data reads use READ_META
      cfq-iosched: use metadata read flag
      blktrace: support for logging metadata reads
      SCSI: scsi_done_q is unused
      Update axboe@suse.de email address

Martin Peschke:
      [Patch] blktrace: cleanup using on_each_cpu

Milan Broz:
      fix creating zero sized bio mempools in low memory system

Oleg Nesterov:
      exit_io_context: don't disable irqs
      Don't need to disable interrupts for tasklist_lock

 MAINTAINERS                     |    8 
 arch/frv/Kconfig                |    4 
 arch/frv/kernel/time.c          |   81 ++++
 arch/ia64/kernel/sys_ia64.c     |   28 +
 arch/sparc/kernel/sys_sparc.c   |   27 +
 arch/sparc64/kernel/sys_sparc.c |   36 +-
 arch/um/drivers/ubd_kern.c      |    2 
 block/Kconfig                   |   20 +
 block/Kconfig.iosched           |    3 
 block/Makefile                  |    2 
 block/as-iosched.c              |  672 +++++++-----------------------
 block/blktrace.c                |   26 -
 block/cfq-iosched.c             |  865 +++++++++++++--------------------------
 block/deadline-iosched.c        |  464 +++------------------
 block/elevator.c                |  315 ++++++++++++--
 block/ll_rw_blk.c               |  223 ++++------
 block/noop-iosched.c            |    2 
 block/scsi_ioctl.c              |    6 
 drivers/block/DAC960.c          |    2 
 drivers/block/Kconfig           |    4 
 drivers/block/cciss.c           |    1 
 drivers/block/cpqarray.c        |    1 
 drivers/block/floppy.c          |    4 
 drivers/block/loop.c            |  160 +++++++
 drivers/block/nbd.c             |    8 
 drivers/block/paride/pd.c       |    6 
 drivers/block/pktcdvd.c         |    8 
 drivers/block/swim3.c           |    4 
 drivers/block/swim_iop.c        |    4 
 drivers/block/xd.c              |    2 
 drivers/cdrom/Kconfig           |    2 
 drivers/cdrom/cdrom.c           |    2 
 drivers/cdrom/cdu31a.c          |    4 
 drivers/char/Kconfig            |    1 
 drivers/char/random.c           |    4 
 drivers/fc4/fc.c                |    1 
 drivers/ide/Kconfig             |    4 
 drivers/ide/ide-cd.c            |   69 ++-
 drivers/ide/ide-disk.c          |    5 
 drivers/ide/ide-dma.c           |    2 
 drivers/ide/ide-floppy.c        |   17 -
 drivers/ide/ide-io.c            |   50 +-
 drivers/ide/ide-lib.c           |    5 
 drivers/ide/ide-proc.c          |    2 
 drivers/ide/ide-tape.c          |   14 -
 drivers/ide/ide-taskfile.c      |    8 
 drivers/ide/ide.c               |    8 
 drivers/ide/legacy/hd.c         |    2 
 drivers/ide/pci/sis5513.c       |    2 
 drivers/md/Kconfig              |    3 
 drivers/md/dm-emc.c             |    3 
 drivers/message/i2o/Kconfig     |    2 
 drivers/message/i2o/i2o_block.c |    7 
 drivers/mmc/Kconfig             |    2 
 drivers/mmc/Makefile            |    3 
 drivers/mmc/mmc_queue.c         |    6 
 drivers/mtd/Kconfig             |   12 -
 drivers/mtd/devices/Kconfig     |    2 
 drivers/mtd/mtd_blkdevs.c       |    2 
 drivers/net/Kconfig             |    2 
 drivers/s390/block/Kconfig      |    2 
 drivers/s390/block/dasd_diag.c  |    2 
 drivers/s390/block/dasd_eckd.c  |    2 
 drivers/s390/block/dasd_fba.c   |    2 
 drivers/scsi/Kconfig            |    2 
 drivers/scsi/aic7xxx_old.c      |    4 
 drivers/scsi/ide-scsi.c         |   16 -
 drivers/scsi/pluto.c            |    6 
 drivers/scsi/scsi.c             |   13 -
 drivers/scsi/scsi_lib.c         |   37 +-
 drivers/scsi/sd.c               |    5 
 drivers/scsi/sun3_NCR5380.c     |    2 
 drivers/scsi/sun3_scsi.c        |    2 
 drivers/scsi/sun3_scsi_vme.c    |    2 
 drivers/usb/storage/Kconfig     |    5 
 fs/Kconfig                      |   31 +
 fs/Makefile                     |   14 -
 fs/afs/file.c                   |    2 
 fs/binfmt_elf.c                 |    1 
 fs/bio.c                        |    4 
 fs/block_dev.c                  |   23 +
 fs/buffer.c                     |  174 --------
 fs/char_dev.c                   |    1 
 fs/cifs/file.c                  |    1 
 fs/cifs/inode.c                 |    1 
 fs/cifs/ioctl.c                 |    7 
 fs/compat.c                     |    8 
 fs/compat_ioctl.c               |  208 +--------
 fs/dcache.c                     |    4 
 fs/ext2/dir.c                   |    3 
 fs/ext2/ext2.h                  |    1 
 fs/ext2/file.c                  |    6 
 fs/ext2/ioctl.c                 |   32 +
 fs/ext3/dir.c                   |    3 
 fs/ext3/file.c                  |    3 
 fs/ext3/inode.c                 |   16 -
 fs/ext3/ioctl.c                 |   55 ++
 fs/ext3/namei.c                 |    3 
 fs/fat/dir.c                    |   56 +++
 fs/fs-writeback.c               |    9 
 fs/hfsplus/hfsplus_fs.h         |    8 
 fs/hfsplus/ioctl.c              |   17 -
 fs/inode.c                      |   21 -
 fs/internal.h                   |   55 ++
 fs/ioprio.c                     |   19 +
 fs/jfs/ioctl.c                  |   15 -
 fs/mpage.c                      |    2 
 fs/namespace.c                  |   12 -
 fs/nfs/direct.c                 |   50 ++
 fs/nfs/read.c                   |   24 -
 fs/nfs/write.c                  |   38 +-
 fs/no-block.c                   |   22 +
 fs/partitions/Makefile          |    2 
 fs/proc/proc_misc.c             |   11 
 fs/quota.c                      |   44 +-
 fs/reiserfs/dir.c               |    3 
 fs/reiserfs/file.c              |    4 
 fs/reiserfs/ioctl.c             |   35 ++
 fs/splice.c                     |    2 
 fs/super.c                      |   36 ++
 fs/sync.c                       |  113 +++++
 fs/xfs/Kconfig                  |    1 
 include/asm-i386/Kbuild         |    2 
 include/asm-ia64/mman.h         |    8 
 include/asm-sh/page.h           |    2 
 include/asm-sparc/mman.h        |    8 
 include/asm-sparc64/mman.h      |    8 
 include/linux/atmdev.h          |    2 
 include/linux/bio.h             |    2 
 include/linux/blkdev.h          |  333 ++++++++-------
 include/linux/blktrace_api.h    |    3 
 include/linux/buffer_head.h     |   19 +
 include/linux/compat.h          |    1 
 include/linux/compat_ioctl.h    |    8 
 include/linux/elevator.h        |   68 +++
 include/linux/ext2_fs.h         |   66 ++-
 include/linux/ext3_fs.h         |   26 +
 include/linux/fs.h              |   67 +++
 include/linux/genhd.h           |    4 
 include/linux/hrtimer.h         |    1 
 include/linux/ktime.h           |    7 
 include/linux/mm.h              |    4 
 include/linux/mpage.h           |    7 
 include/linux/nfs_fs.h          |    6 
 include/linux/nfs_xdr.h         |    4 
 include/linux/pci_ids.h         |    2 
 include/linux/raid/md.h         |    3 
 include/linux/raid/md_k.h       |    3 
 include/linux/ramfs.h           |    1 
 include/linux/rbtree.h          |    2 
 include/linux/reiserfs_fs.h     |   37 +-
 include/linux/sched.h           |    1 
 include/linux/sysfs.h           |    9 
 include/linux/tty.h             |    3 
 include/linux/writeback.h       |    2 
 include/scsi/scsi_tcq.h         |    5 
 init/Kconfig                    |    2 
 init/do_mounts.c                |   13 +
 kernel/exit.c                   |    1 
 kernel/futex.c                  |   84 +++-
 kernel/panic.c                  |    2 
 kernel/power/Kconfig            |    6 
 kernel/spinlock.c               |    2 
 kernel/sys_ni.c                 |    5 
 lib/rbtree.c                    |    6 
 mm/Makefile                     |    4 
 mm/bounce.c                     |  302 ++++++++++++++
 mm/filemap.c                    |   34 ++
 mm/highmem.c                    |  281 -------------
 mm/migrate.c                    |    4 
 mm/mmap.c                       |   17 -
 mm/page-writeback.c             |  143 ++++++
 mm/truncate.c                   |   37 +-
 security/seclvl.c               |    4 
 174 files changed, 3127 insertions(+), 3080 deletions(-)
 create mode 100644 fs/internal.h
 create mode 100644 fs/no-block.c
 create mode 100644 mm/bounce.c

-- 
Jens Axboe


             reply	other threads:[~2006-09-12 10:13 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-12 10:11 Jens Axboe [this message]
  -- strict thread matches above, loose matches on Subject: below --
2006-09-13 10:59 What's in linux-2.6-block.git Al Boldi
2006-09-13 10:59 ` Jens Axboe
2006-09-13 11:35   ` Al Boldi
2006-09-13 11:56     ` Jens Axboe
2006-09-13 17:52       ` Al Boldi
2006-09-13 14:23     ` John Stoffel
2006-09-13 17:52       ` Al Boldi
2006-09-14 19:46         ` John Stoffel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060912101141.GA19018@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.