* Re: [PATCH] sem2mutex bdev->bd_sem [not found] <5edf7fc90601120610h70b824ccs9b1ac0fe955dd1b3@mail.gmail.com> @ 2006-01-12 14:16 ` Jens Axboe 2006-01-12 14:18 ` Arjan van de Ven ` (2 more replies) 0 siblings, 3 replies; 4+ messages in thread From: Jens Axboe @ 2006-01-12 14:16 UTC (permalink / raw) To: Kedar Sovani; +Cc: Kernel Mailing List, Ingo Molnar On Thu, Jan 12 2006, Kedar Sovani wrote: > Here is an obvious sem2mutex patch for the bd_sem relative to 2.6.15. > > > Kedar. > > > Use mutex instead of semaphore. > > Signed-Off-by: Kedar Sovani <ksovani@kernelcorp.com> Please compile the patches you submit, there are far too many "sem to mutex" conversion patches being sent that aren't properly tested. And my eye spots that this is one of them. -- Jens Axboe ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] sem2mutex bdev->bd_sem 2006-01-12 14:16 ` [PATCH] sem2mutex bdev->bd_sem Jens Axboe @ 2006-01-12 14:18 ` Arjan van de Ven 2006-01-12 14:19 ` Ingo Molnar [not found] ` <5edf7fc90601120624q46bf0ac6h2b57a09c8ac682ff@mail.gmail.com> 2 siblings, 0 replies; 4+ messages in thread From: Arjan van de Ven @ 2006-01-12 14:18 UTC (permalink / raw) To: Jens Axboe; +Cc: Kedar Sovani, Kernel Mailing List, Ingo Molnar On Thu, 2006-01-12 at 15:16 +0100, Jens Axboe wrote: > On Thu, Jan 12 2006, Kedar Sovani wrote: > > Here is an obvious sem2mutex patch for the bd_sem relative to 2.6.15. > > > > > > Kedar. > > > > > > Use mutex instead of semaphore. > > > > Signed-Off-by: Kedar Sovani <ksovani@kernelcorp.com> > > Please compile the patches you submit, there are far too many "sem to > mutex" conversion patches being sent that aren't properly tested. And my > eye spots that this is one of them. yup a more complete one in our queue is this one block/ioctl.c | 22 +++++++++++----------- drivers/block/rd.c | 4 ++-- drivers/s390/block/dasd_ioctl.c | 8 ++++---- fs/block_dev.c | 28 ++++++++++++++-------------- fs/buffer.c | 6 +++--- fs/super.c | 4 ++-- include/linux/fs.h | 4 ++-- 7 files changed, 38 insertions(+), 38 deletions(-) Index: linux-2.6.15/block/ioctl.c =================================================================== --- linux-2.6.15.orig/block/ioctl.c +++ linux-2.6.15/block/ioctl.c @@ -42,9 +42,9 @@ static int blkpg_ioctl(struct block_devi return -EINVAL; } /* partition number in use? */ - down(&bdev->bd_sem); + mutex_lock(&bdev->bd_mutex); if (disk->part[part - 1]) { - up(&bdev->bd_sem); + mutex_unlock(&bdev->bd_mutex); return -EBUSY; } /* overlap? */ @@ -55,13 +55,13 @@ static int blkpg_ioctl(struct block_devi continue; if (!(start+length <= s->start_sect || start >= s->start_sect + s->nr_sects)) { - up(&bdev->bd_sem); + mutex_unlock(&bdev->bd_mutex); return -EBUSY; } } /* all seems OK */ add_partition(disk, part, start, length); - up(&bdev->bd_sem); + mutex_unlock(&bdev->bd_mutex); return 0; case BLKPG_DEL_PARTITION: if (!disk->part[part-1]) @@ -71,9 +71,9 @@ static int blkpg_ioctl(struct block_devi bdevp = bdget_disk(disk, part); if (!bdevp) return -ENOMEM; - down(&bdevp->bd_sem); + mutex_lock(&bdevp->bd_mutex); if (bdevp->bd_openers) { - up(&bdevp->bd_sem); + mutex_unlock(&bdevp->bd_mutex); bdput(bdevp); return -EBUSY; } @@ -81,10 +81,10 @@ static int blkpg_ioctl(struct block_devi fsync_bdev(bdevp); invalidate_bdev(bdevp, 0); - down(&bdev->bd_sem); + mutex_lock(&bdev->bd_mutex); delete_partition(disk, part); - up(&bdev->bd_sem); - up(&bdevp->bd_sem); + mutex_unlock(&bdev->bd_mutex); + mutex_unlock(&bdevp->bd_mutex); bdput(bdevp); return 0; @@ -102,10 +102,10 @@ static int blkdev_reread_part(struct blo return -EINVAL; if (!capable(CAP_SYS_ADMIN)) return -EACCES; - if (down_trylock(&bdev->bd_sem)) + if (!mutex_trylock(&bdev->bd_mutex)) return -EBUSY; res = rescan_partitions(disk, bdev); - up(&bdev->bd_sem); + mutex_unlock(&bdev->bd_mutex); return res; } Index: linux-2.6.15/drivers/block/rd.c =================================================================== --- linux-2.6.15.orig/drivers/block/rd.c +++ linux-2.6.15/drivers/block/rd.c @@ -310,12 +310,12 @@ static int rd_ioctl(struct inode *inode, * cache */ error = -EBUSY; - down(&bdev->bd_sem); + mutex_lock(&bdev->bd_mutex); if (bdev->bd_openers <= 2) { truncate_inode_pages(bdev->bd_inode->i_mapping, 0); error = 0; } - up(&bdev->bd_sem); + mutex_unlock(&bdev->bd_mutex); return error; } Index: linux-2.6.15/drivers/s390/block/dasd_ioctl.c =================================================================== --- linux-2.6.15.orig/drivers/s390/block/dasd_ioctl.c +++ linux-2.6.15/drivers/s390/block/dasd_ioctl.c @@ -153,9 +153,9 @@ dasd_ioctl_enable(struct block_device *b return -ENODEV; dasd_enable_device(device); /* Formatting the dasd device can change the capacity. */ - down(&bdev->bd_sem); + mutex_lock(&bdev->bd_mutex); i_size_write(bdev->bd_inode, (loff_t)get_capacity(device->gdp) << 9); - up(&bdev->bd_sem); + mutex_unlock(&bdev->bd_mutex); return 0; } @@ -186,9 +186,9 @@ dasd_ioctl_disable(struct block_device * * Set i_size to zero, since read, write, etc. check against this * value. */ - down(&bdev->bd_sem); + mutex_lock(&bdev->bd_mutex); i_size_write(bdev->bd_inode, 0); - up(&bdev->bd_sem); + mutex_unlock(&bdev->bd_mutex); return 0; } Index: linux-2.6.15/fs/block_dev.c =================================================================== --- linux-2.6.15.orig/fs/block_dev.c +++ linux-2.6.15/fs/block_dev.c @@ -265,8 +265,8 @@ static void init_once(void * foo, kmem_c SLAB_CTOR_CONSTRUCTOR) { memset(bdev, 0, sizeof(*bdev)); - sema_init(&bdev->bd_sem, 1); - sema_init(&bdev->bd_mount_sem, 1); + mutex_init(&bdev->bd_mutex); + mutex_init(&bdev->bd_mount_mutex); INIT_LIST_HEAD(&bdev->bd_inodes); INIT_LIST_HEAD(&bdev->bd_list); inode_init_once(&ei->vfs_inode); @@ -574,7 +574,7 @@ static int do_open(struct block_device * } owner = disk->fops->owner; - down(&bdev->bd_sem); + mutex_lock(&bdev->bd_mutex); if (!bdev->bd_openers) { bdev->bd_disk = disk; bdev->bd_contains = bdev; @@ -605,21 +605,21 @@ static int do_open(struct block_device * if (ret) goto out_first; bdev->bd_contains = whole; - down(&whole->bd_sem); + mutex_lock(&whole->bd_mutex); whole->bd_part_count++; p = disk->part[part - 1]; bdev->bd_inode->i_data.backing_dev_info = whole->bd_inode->i_data.backing_dev_info; if (!(disk->flags & GENHD_FL_UP) || !p || !p->nr_sects) { whole->bd_part_count--; - up(&whole->bd_sem); + mutex_unlock(&whole->bd_mutex); ret = -ENXIO; goto out_first; } kobject_get(&p->kobj); bdev->bd_part = p; bd_set_size(bdev, (loff_t) p->nr_sects << 9); - up(&whole->bd_sem); + mutex_unlock(&whole->bd_mutex); } } else { put_disk(disk); @@ -633,13 +633,13 @@ static int do_open(struct block_device * if (bdev->bd_invalidated) rescan_partitions(bdev->bd_disk, bdev); } else { - down(&bdev->bd_contains->bd_sem); + mutex_lock(&bdev->bd_contains->bd_mutex); bdev->bd_contains->bd_part_count++; - up(&bdev->bd_contains->bd_sem); + mutex_unlock(&bdev->bd_contains->bd_mutex); } } bdev->bd_openers++; - up(&bdev->bd_sem); + mutex_unlock(&bdev->bd_mutex); unlock_kernel(); return 0; @@ -652,7 +652,7 @@ out_first: put_disk(disk); module_put(owner); out: - up(&bdev->bd_sem); + mutex_unlock(&bdev->bd_mutex); unlock_kernel(); if (ret) bdput(bdev); @@ -714,7 +714,7 @@ int blkdev_put(struct block_device *bdev struct inode *bd_inode = bdev->bd_inode; struct gendisk *disk = bdev->bd_disk; - down(&bdev->bd_sem); + mutex_lock(&bdev->bd_mutex); lock_kernel(); if (!--bdev->bd_openers) { sync_blockdev(bdev); @@ -724,9 +724,9 @@ int blkdev_put(struct block_device *bdev if (disk->fops->release) ret = disk->fops->release(bd_inode, NULL); } else { - down(&bdev->bd_contains->bd_sem); + mutex_lock(&bdev->bd_contains->bd_mutex); bdev->bd_contains->bd_part_count--; - up(&bdev->bd_contains->bd_sem); + mutex_unlock(&bdev->bd_contains->bd_mutex); } if (!bdev->bd_openers) { struct module *owner = disk->fops->owner; @@ -746,7 +746,7 @@ int blkdev_put(struct block_device *bdev bdev->bd_contains = NULL; } unlock_kernel(); - up(&bdev->bd_sem); + mutex_unlock(&bdev->bd_mutex); bdput(bdev); return ret; } Index: linux-2.6.15/fs/buffer.c =================================================================== --- linux-2.6.15.orig/fs/buffer.c +++ linux-2.6.15/fs/buffer.c @@ -201,7 +201,7 @@ int fsync_bdev(struct block_device *bdev * freeze_bdev -- lock a filesystem and force it into a consistent state * @bdev: blockdevice to lock * - * This takes the block device bd_mount_sem to make sure no new mounts + * This takes the block device bd_mount_mutex to make sure no new mounts * happen on bdev until thaw_bdev() is called. * If a superblock is found on this device, we take the s_umount semaphore * on it to make sure nobody unmounts until the snapshot creation is done. @@ -210,7 +210,7 @@ struct super_block *freeze_bdev(struct b { struct super_block *sb; - down(&bdev->bd_mount_sem); + mutex_lock(&bdev->bd_mount_mutex); sb = get_super(bdev); if (sb && !(sb->s_flags & MS_RDONLY)) { sb->s_frozen = SB_FREEZE_WRITE; @@ -264,7 +264,7 @@ void thaw_bdev(struct block_device *bdev drop_super(sb); } - up(&bdev->bd_mount_sem); + mutex_unlock(&bdev->bd_mount_mutex); } EXPORT_SYMBOL(thaw_bdev); Index: linux-2.6.15/fs/super.c =================================================================== --- linux-2.6.15.orig/fs/super.c +++ linux-2.6.15/fs/super.c @@ -683,9 +683,9 @@ struct super_block *get_sb_bdev(struct f * will protect the lockfs code from trying to start a snapshot * while we are mounting */ - down(&bdev->bd_mount_sem); + mutex_lock(&bdev->bd_mount_mutex); s = sget(fs_type, test_bdev_super, set_bdev_super, bdev); - up(&bdev->bd_mount_sem); + mutex_unlock(&bdev->bd_mount_mutex); if (IS_ERR(s)) goto out; Index: linux-2.6.15/include/linux/fs.h =================================================================== --- linux-2.6.15.orig/include/linux/fs.h +++ linux-2.6.15/include/linux/fs.h @@ -394,8 +394,8 @@ struct block_device { dev_t bd_dev; /* not a kdev_t - it's a search key */ struct inode * bd_inode; /* will die */ int bd_openers; - struct semaphore bd_sem; /* open/close mutex */ - struct semaphore bd_mount_sem; /* mount mutex */ + struct mutex bd_mutex; /* open/close mutex */ + struct mutex bd_mount_mutex; /* mount mutex */ struct list_head bd_inodes; void * bd_holder; int bd_holders; ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] sem2mutex bdev->bd_sem 2006-01-12 14:16 ` [PATCH] sem2mutex bdev->bd_sem Jens Axboe 2006-01-12 14:18 ` Arjan van de Ven @ 2006-01-12 14:19 ` Ingo Molnar [not found] ` <5edf7fc90601120624q46bf0ac6h2b57a09c8ac682ff@mail.gmail.com> 2 siblings, 0 replies; 4+ messages in thread From: Ingo Molnar @ 2006-01-12 14:19 UTC (permalink / raw) To: Jens Axboe; +Cc: Kedar Sovani, Kernel Mailing List, Arjan van de Ven * Jens Axboe <axboe@suse.de> wrote: > On Thu, Jan 12 2006, Kedar Sovani wrote: > > Here is an obvious sem2mutex patch for the bd_sem relative to 2.6.15. > > > > > > Kedar. > > > > > > Use mutex instead of semaphore. > > > > Signed-Off-by: Kedar Sovani <ksovani@kernelcorp.com> > > Please compile the patches you submit, there are far too many "sem to > mutex" conversion patches being sent that aren't properly tested. And > my eye spots that this is one of them. FYI, Arjan, Jes and me are doing automated conversions to mutexes, with build testing and automatic validation of the result as well. Arjan has done the bd_sem one today, and sent it to aviro. Below is a (fast growing) list of code we've already converted and validated. Ingo Documentation/synchro-test.txt | 59 ++ Makefile | 2 arch/arm/common/rtctime.c | 15 arch/arm/kernel/ecard.c | 7 arch/arm/mach-aaec2000/clock.c | 15 arch/arm/mach-integrator/clock.c | 15 arch/arm/mach-pxa/ssp.c | 17 arch/arm/mach-realview/clock.c | 15 arch/arm/mach-s3c2410/clock.c | 11 arch/arm/mach-versatile/clock.c | 15 arch/arm/plat-omap/clock.c | 15 arch/arm26/kernel/traps.c | 13 arch/i386/Kconfig | 4 arch/i386/kernel/apic.c | 2 arch/i386/kernel/cpu/cpufreq/powernow-k8.c | 9 arch/i386/kernel/cpu/mtrr/main.c | 11 arch/i386/kernel/microcode.c | 7 arch/i386/kernel/nmi.c | 69 ++- arch/ia64/Kconfig | 4 arch/ia64/hp/sim/simserial.c | 1 arch/ia64/ia32/sys_ia32.c | 28 - arch/ia64/kernel/perfmon.c | 11 arch/ia64/kernel/salinfo.c | 2 arch/ia64/kernel/semaphore.c | 8 arch/mips/lasat/sysctl.c | 63 +- arch/powerpc/mm/imalloc.c | 19 arch/powerpc/platforms/cell/spu_base.c | 23 - arch/powerpc/platforms/powermac/cpufreq_64.c | 7 arch/ppc/4xx_io/serial_sicc.c | 3 arch/x86_64/Kconfig | 4 block/genhd.c | 25 - drivers/acpi/osl.c | 12 drivers/acpi/processor_perflib.c | 23 - drivers/acpi/scan.c | 3 drivers/base/attribute_container.c | 27 - drivers/base/bus.c | 16 drivers/base/class.c | 22 - drivers/base/core.c | 2 drivers/base/dd.c | 36 - drivers/base/dmapool.c | 15 drivers/base/firmware_class.c | 21 drivers/base/map.c | 20 drivers/base/memory.c | 6 drivers/base/power/resume.c | 4 drivers/base/power/suspend.c | 4 drivers/base/sys.c | 23 - drivers/block/floppy.c | 17 drivers/block/pktcdvd.c | 27 - drivers/cdrom/cdu31a.c | 51 +- drivers/char/agp/frontend.c | 28 - drivers/char/amiserial.c | 3 drivers/char/esp.c | 3 drivers/char/generic_serial.c | 5 drivers/char/istallion.c | 3 drivers/char/nwflash.c | 11 drivers/char/raw.c | 23 - drivers/char/riscom8.c | 3 drivers/char/specialix.c | 5 drivers/char/stallion.c | 3 drivers/char/synclink.c | 3 drivers/char/sysrq.c | 17 drivers/char/watchdog/pcwd_usb.c | 7 drivers/connector/connector.c | 15 drivers/cpufreq/cpufreq.c | 19 drivers/cpufreq/cpufreq_conservative.c | 52 +- drivers/cpufreq/cpufreq_ondemand.c | 41 - drivers/cpufreq/cpufreq_userspace.c | 25 - drivers/firmware/dcdbas.c | 23 - drivers/hwmon/adm1021.c | 13 drivers/hwmon/adm1025.c | 25 - drivers/hwmon/adm1026.c | 87 ++-- drivers/hwmon/adm1031.c | 49 +- drivers/hwmon/adm9240.c | 29 - drivers/hwmon/asb100.c | 45 +- drivers/hwmon/atxp1.c | 9 drivers/hwmon/ds1621.c | 13 drivers/hwmon/fscher.c | 41 - drivers/hwmon/fscpos.c | 29 - drivers/hwmon/gl518sm.c | 25 - drivers/hwmon/gl520sm.c | 45 +- drivers/hwmon/hdaps.c | 37 - drivers/hwmon/it87.c | 61 +- drivers/hwmon/lm63.c | 29 - drivers/hwmon/lm75.c | 13 drivers/hwmon/lm77.c | 21 drivers/hwmon/lm78.c | 47 +- drivers/hwmon/lm80.c | 27 - drivers/hwmon/lm83.c | 13 drivers/hwmon/lm85.c | 67 +-- drivers/hwmon/lm87.c | 39 - drivers/hwmon/lm90.c | 21 drivers/hwmon/lm92.c | 17 drivers/hwmon/max1619.c | 13 drivers/hwmon/pc87360.c | 61 +- drivers/hwmon/sis5595.c | 47 +- drivers/hwmon/smsc47b397.c | 17 drivers/hwmon/smsc47m1.c | 41 - drivers/hwmon/via686a.c | 33 - drivers/hwmon/vt8231.c | 51 +- drivers/hwmon/w83627ehf.c | 33 - drivers/hwmon/w83627hf.c | 57 +- drivers/hwmon/w83781d.c | 55 +- drivers/hwmon/w83792d.c | 9 drivers/hwmon/w83l785ts.c | 9 drivers/i2c/busses/i2c-ali1535.c | 7 drivers/i2c/chips/ds1374.c | 11 drivers/i2c/chips/m41t00.c | 11 drivers/i2c/i2c-core.c | 23 - drivers/ide/ide-cd.c | 11 drivers/ide/ide-disk.c | 11 drivers/ide/ide-floppy.c | 11 drivers/ide/ide-tape.c | 19 drivers/ieee1394/hosts.c | 7 drivers/ieee1394/ieee1394_types.h | 2 drivers/ieee1394/nodemgr.c | 2 drivers/ieee1394/raw1394-private.h | 2 drivers/infiniband/core/device.c | 22 - drivers/infiniband/core/ucm.c | 23 - drivers/infiniband/ulp/ipoib/ipoib.h | 7 drivers/infiniband/ulp/ipoib/ipoib_ib.c | 19 drivers/infiniband/ulp/ipoib/ipoib_main.c | 12 drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 27 - drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 8 drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 10 drivers/input/gameport/gameport.c | 21 drivers/input/input.c | 15 drivers/input/joystick/amijoy.c | 11 drivers/input/serio/serio.c | 31 - drivers/input/serio/serio_raw.c | 23 - drivers/isdn/capi/kcapi.c | 17 drivers/macintosh/smu.c | 9 drivers/md/dm-table.c | 11 drivers/md/dm.c | 19 drivers/md/kcopyd.c | 28 - drivers/md/md.c | 11 drivers/media/dvb/dvb-core/dvb_frontend.c | 2 drivers/media/dvb/dvb-core/dvb_frontend.h | 2 drivers/media/dvb/dvb-core/dvbdev.c | 21 drivers/media/video/bttv-driver.c | 60 +- drivers/media/video/bttvp.h | 5 drivers/media/video/cx88/cx88-core.c | 15 drivers/media/video/em28xx/em28xx-video.c | 7 drivers/media/video/saa7134/saa7134-core.c | 19 drivers/media/video/videodev.c | 27 - drivers/media/video/zoran.h | 2 drivers/media/video/zoran_card.c | 11 drivers/media/video/zoran_driver.c | 227 +++++----- drivers/mfd/ucb1x00-core.c | 27 - drivers/mmc/mmc_block.c | 11 drivers/mtd/devices/doc2000.c | 7 drivers/net/3c527.c | 2 drivers/net/8139too.c | 2 drivers/net/cassini.c | 40 - drivers/net/cassini.h | 2 drivers/net/hamradio/6pack.c | 2 drivers/net/hamradio/mkiss.c | 2 drivers/net/irda/irtty-sir.c | 19 drivers/net/irda/sir_dongle.c | 19 drivers/net/plip.c | 5 drivers/net/ppp_async.c | 2 drivers/net/ppp_generic.c | 25 - drivers/net/ppp_synctty.c | 2 drivers/net/sungem.c | 37 - drivers/net/sungem.h | 6 drivers/net/wan/dscc4.c | 7 drivers/net/wireless/ipw2100.c | 119 ++--- drivers/net/wireless/ipw2100.h | 4 drivers/net/wireless/ipw2200.c | 294 ++++++------- drivers/net/wireless/ipw2200.h | 3 drivers/parport/share.c | 19 drivers/pci/hotplug/cpci_hotplug_core.c | 4 drivers/pci/hotplug/cpqphp_ctrl.c | 4 drivers/pci/hotplug/ibmphp_hpc.c | 2 drivers/pci/hotplug/pciehp_ctrl.c | 4 drivers/pci/hotplug/rpadlpar_core.c | 13 drivers/pci/hotplug/sgi_hotplug.c | 19 drivers/pci/hotplug/shpchp_ctrl.c | 4 drivers/pcmcia/cs.c | 40 - drivers/pcmcia/ds.c | 15 drivers/pcmcia/pcmcia_ioctl.c | 12 drivers/pcmcia/rsrc_nonstatic.c | 41 - drivers/pcmcia/socket_sysfs.c | 8 drivers/pnp/isapnp/core.c | 7 drivers/s390/char/raw3270.c | 39 - drivers/sbus/char/aurora.c | 3 drivers/scsi/3w-9xxx.c | 7 drivers/scsi/3w-9xxx.h | 2 drivers/scsi/3w-xxxx.c | 7 drivers/scsi/3w-xxxx.h | 2 drivers/scsi/aacraid/aacraid.h | 4 drivers/scsi/aic7xxx/aic79xx_osm.h | 2 drivers/scsi/aic7xxx/aic7xxx_osm.h | 2 drivers/scsi/ch.c | 33 - drivers/scsi/dpt_i2o.c | 35 - drivers/scsi/hosts.c | 8 drivers/scsi/ide-scsi.c | 11 drivers/scsi/iscsi_tcp.c | 37 - drivers/scsi/iscsi_tcp.h | 2 drivers/scsi/megaraid.c | 6 drivers/scsi/megaraid.h | 4 drivers/scsi/megaraid/megaraid_sas.c | 7 drivers/scsi/qla2xxx/qla_def.h | 2 drivers/scsi/scsi.c | 13 drivers/scsi/scsi_proc.c | 11 drivers/scsi/scsi_scan.c | 16 drivers/scsi/scsi_sysfs.c | 4 drivers/scsi/scsi_transport_iscsi.c | 17 drivers/scsi/scsi_transport_spi.c | 10 drivers/scsi/sd.c | 21 drivers/scsi/sr.c | 17 drivers/scsi/st.c | 17 drivers/serial/8250.c | 11 drivers/serial/crisv10.c | 11 drivers/serial/pmac_zilog.c | 23 - drivers/serial/serial_core.c | 15 drivers/serial/serial_txx9.c | 11 drivers/telephony/phonedev.c | 21 drivers/usb/atm/cxacru.c | 4 drivers/usb/atm/ueagle-atm.c | 27 - drivers/usb/atm/usbatm.c | 24 - drivers/usb/atm/usbatm.h | 3 drivers/usb/class/cdc-acm.c | 19 drivers/usb/class/usblp.c | 15 drivers/usb/core/devices.c | 7 drivers/usb/core/devio.c | 4 drivers/usb/core/hcd.c | 25 - drivers/usb/core/hcd.h | 2 drivers/usb/core/hub.c | 11 drivers/usb/core/notify.c | 15 drivers/usb/core/usb.c | 5 drivers/usb/image/mdc800.c | 63 +- drivers/usb/input/ati_remote.c | 2 drivers/usb/media/dabusb.c | 31 - drivers/usb/media/dabusb.h | 2 drivers/usb/media/ov511.c | 91 ++-- drivers/usb/media/ov511.h | 11 drivers/usb/media/se401.c | 12 drivers/usb/media/se401.h | 3 drivers/usb/media/sn9c102.h | 5 drivers/usb/media/sn9c102_core.c | 158 +++---- drivers/usb/media/stv680.c | 13 drivers/usb/media/stv680.h | 2 drivers/usb/media/usbvideo.c | 28 - drivers/usb/media/usbvideo.h | 5 drivers/usb/media/vicam.c | 21 drivers/usb/media/w9968cf.c | 94 ++-- drivers/usb/media/w9968cf.h | 10 drivers/usb/misc/idmouse.c | 25 - drivers/usb/misc/ldusb.c | 11 drivers/usb/misc/legousbtower.c | 11 drivers/usb/mon/mon_main.c | 19 drivers/usb/mon/mon_text.c | 21 drivers/usb/mon/usb_mon.h | 2 drivers/usb/serial/pl2303.c | 2 drivers/usb/storage/scsiglue.c | 9 drivers/usb/storage/usb.c | 25 - drivers/usb/storage/usb.h | 7 fs/9p/mux.c | 11 fs/char_dev.c | 17 fs/cramfs/inode.c | 31 - fs/dcookies.c | 19 fs/dquot.c | 120 ++--- fs/ext3/super.c | 4 fs/inode.c | 2 fs/inotify.c | 110 ++--- fs/jffs2/compr_zlib.c | 19 fs/jfs/jfs_logmgr.c | 27 - fs/lockd/host.c | 19 fs/lockd/svc.c | 17 fs/lockd/svcsubs.c | 17 fs/nfs/callback.c | 11 fs/nfsd/nfs4state.c | 9 fs/partitions/devfs.c | 13 fs/quota.c | 6 fs/quota_v2.c | 2 fs/super.c | 11 fs/xfs/linux-2.6/sema.h | 2 fs/xfs/linux-2.6/xfs_buf.h | 4 include/asm-i386/semaphore.h | 52 +- include/asm-ia64/semaphore.h | 58 +- include/asm-x86_64/semaphore.h | 61 +- include/linux/agpgart.h | 3 include/linux/cpufreq.h | 2 include/linux/device.h | 5 include/linux/fs.h | 2 include/linux/input.h | 2 include/linux/jffs2_fs_i.h | 10 include/linux/jffs2_fs_sb.h | 6 include/linux/kobj_map.h | 4 include/linux/memory.h | 5 include/linux/mutex.h | 147 ++++++ include/linux/parport.h | 2 include/linux/quota.h | 7 include/linux/rtnetlink.h | 13 include/linux/semaphore.h | 30 + include/linux/usb.h | 6 include/net/xfrm.h | 3 include/pcmcia/ss.h | 3 include/scsi/scsi_host.h | 3 include/scsi/scsi_transport_spi.h | 2 kernel/Makefile | 4 kernel/cpu.c | 10 kernel/cpuset.c | 192 ++++----- kernel/kthread.c | 7 kernel/module.c | 56 +- kernel/mutex.c | 68 +++ kernel/posix-timers.c | 1 kernel/power/pm.c | 21 kernel/printk.c | 7 kernel/profile.c | 11 kernel/rcupdate.c | 10 kernel/synchro-test.c | 527 +++++++++++++++++++++++++ kernel/sysctl.c | 2 kernel/time.c | 79 +++ lib/Kconfig.debug | 60 ++ lib/kernel_lock.c | 2 lib/reed_solomon/reed_solomon.c | 11 lib/semaphore-sleepers.c | 16 mm/slab.c | 46 +- mm/swapfile.c | 17 net/atm/ioctl.c | 15 net/bluetooth/rfcomm/core.c | 8 net/core/dev.c | 7 net/core/flow.c | 7 net/core/pktgen.c | 7 net/core/rtnetlink.c | 8 net/ipv4/ipcomp.c | 17 net/ipv4/ipvs/ip_vs_ctl.c | 11 net/ipv4/netfilter/ip_queue.c | 11 net/ipv4/netfilter/ipt_hashlimit.c | 9 net/ipv4/xfrm4_tunnel.c | 11 net/ipv6/ipcomp6.c | 15 net/ipv6/netfilter/ip6_queue.c | 11 net/ipv6/xfrm6_tunnel.c | 11 net/key/af_key.c | 4 net/netfilter/nf_sockopt.c | 25 - net/netlink/genetlink.c | 9 net/socket.c | 32 - net/sunrpc/cache.c | 17 net/sunrpc/sched.c | 11 net/unix/garbage.c | 7 net/xfrm/xfrm_policy.c | 4 net/xfrm/xfrm_user.c | 4 security/keys/process_keys.c | 7 security/selinux/selinuxfs.c | 19 security/selinux/ss/services.c | 7 sound/arm/pxa2xx-ac97.c | 13 sound/core/hwdep.c | 29 - sound/core/info.c | 21 sound/core/info_oss.c | 13 sound/core/memalloc.c | 23 - sound/core/pcm.c | 35 - sound/core/rawmidi.c | 34 - sound/core/seq/oss/seq_oss.c | 27 - sound/core/seq/seq_device.c | 33 - sound/core/seq/seq_midi.c | 21 sound/core/sound.c | 23 - sound/core/sound_oss.c | 23 - sound/core/timer.c | 61 +- sound/oss/ac97_codec.c | 25 - sound/oss/dmasound/dmasound_awacs.c | 11 sound/usb/usbaudio.c | 15 362 files changed, 4691 insertions(+), 3342 deletions(-) ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <5edf7fc90601120624q46bf0ac6h2b57a09c8ac682ff@mail.gmail.com>]
* Re: [PATCH] sem2mutex bdev->bd_sem [not found] ` <5edf7fc90601120624q46bf0ac6h2b57a09c8ac682ff@mail.gmail.com> @ 2006-01-12 14:36 ` Jens Axboe 0 siblings, 0 replies; 4+ messages in thread From: Jens Axboe @ 2006-01-12 14:36 UTC (permalink / raw) To: Kedar Sovani; +Cc: Kernel Mailing List, Ingo Molnar On Thu, Jan 12 2006, Kedar Sovani wrote: > Strange. It did compile in here w/o a problem. How could it, when you don't even add bd_mutex to the block_device structure? I'd rather just let the patches flow from Ingo's automated setup. Lessens the chance of problems. -- Jens Axboe ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-01-12 14:34 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <5edf7fc90601120610h70b824ccs9b1ac0fe955dd1b3@mail.gmail.com> 2006-01-12 14:16 ` [PATCH] sem2mutex bdev->bd_sem Jens Axboe 2006-01-12 14:18 ` Arjan van de Ven 2006-01-12 14:19 ` Ingo Molnar [not found] ` <5edf7fc90601120624q46bf0ac6h2b57a09c8ac682ff@mail.gmail.com> 2006-01-12 14:36 ` Jens Axboe
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).