From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arne Jansen Subject: Re: new metadata reader/writer locks in integration-test Date: Thu, 21 Jul 2011 07:46:55 +0200 Message-ID: <4E27BD4F.6020900@gmx.net> References: <1311096438-sup-1263@shiny> <1311182478-sup-9986@shiny> <4E277757.9070504@jp.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Cc: Chris Mason , linux-btrfs To: Tsutomu Itoh Return-path: In-Reply-To: <4E277757.9070504@jp.fujitsu.com> List-ID: On 21.07.2011 02:48, Tsutomu Itoh wrote: > (2011/07/21 2:21), Chris Mason wrote: >> Excerpts from Chris Mason's message of 2011-07-19 13:30:22 -0400: >>> Hi everyone, >>> >>> I've pushed out a new integration-test branch, and it includes a new >>> reader/writer locking scheme for the btree locks. >>> >>> We've seen a number of benchmarks dominated by contention on the root >>> node lock. This changes our locks into a simple reader/writer lock. >>> They are based on mutexes so that we still take advantage of the mutex >>> adaptive spins for write locks (rwsemaphores were much slower). >>> >>> I'm also sending the individual commits, please do take a look. >> >> Hi everyone, >> >> I just rebased Josef's enospc fixes into integration-test, it should fix >> the warnings in extent-tree.c >> > > Unfortunately, I got the following messages. > > > Jul 21 09:41:22 luna kernel: ------------[ cut here ]------------ > Jul 21 09:41:22 luna kernel: WARNING: at fs/btrfs/extent-tree.c:5564 btrfs_alloc_reserved_file_extent+0xf8/0x100 [btrfs]() > Jul 21 09:41:22 luna kernel: Hardware name: PRIMERGY > Jul 21 09:41:22 luna kernel: Modules linked in: btrfs zlib_deflate crc32c libcrc32c autofs4 sunrpc 8021q garp stp llc cpufreq_ondemand acpi_cpufreq freq_table mperf ipv6 ext3 jbd dm_mirror dm_region_hash dm_log dm_mod kvm uinput ppdev parport_pc parport sg pcspkr i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support tg3 shpchp pci_hotplug i3000_edac edac_core ext4 mbcache jbd2 crc16 sd_mod crc_t10dif sr_mod cdrom megaraid_sas floppy pata_acpi ata_generic ata_piix libata scsi_mod [last unloaded: microcode] > Jul 21 09:41:22 luna kernel: Pid: 5517, comm: btrfs-endio-wri Tainted: G W 2.6.39btrfs-tc1+ #1 > Jul 21 09:41:22 luna kernel: Call Trace: > Jul 21 09:41:22 luna kernel: [] warn_slowpath_common+0x7f/0xc0 > Jul 21 09:41:22 luna kernel: [] warn_slowpath_null+0x1a/0x20 > Jul 21 09:41:22 luna kernel: [] btrfs_alloc_reserved_file_extent+0xf8/0x100 [btrfs] > Jul 21 09:41:22 luna kernel: [] insert_reserved_file_extent.clone.0+0x201/0x270 [btrfs] > Jul 21 09:41:22 luna kernel: [] btrfs_finish_ordered_io+0x2eb/0x360 [btrfs] > Jul 21 09:41:22 luna kernel: [] ? try_to_del_timer_sync+0x83/0xe0 > Jul 21 09:41:22 luna kernel: [] btrfs_writepage_end_io_hook+0x50/0xa0 [btrfs] > Jul 21 09:41:22 luna kernel: [] end_compressed_bio_write+0x86/0xf0 [btrfs] > Jul 21 09:41:22 luna kernel: [] bio_endio+0x1d/0x40 > Jul 21 09:41:22 luna kernel: [] end_workqueue_fn+0xf4/0x130 [btrfs] > Jul 21 09:41:22 luna kernel: [] worker_loop+0x13e/0x540 [btrfs] > Jul 21 09:41:22 luna kernel: [] ? btrfs_queue_worker+0x2d0/0x2d0 [btrfs] > Jul 21 09:41:22 luna kernel: [] ? btrfs_queue_worker+0x2d0/0x2d0 [btrfs] > Jul 21 09:41:22 luna kernel: [] kthread+0x96/0xa0 > Jul 21 09:41:22 luna kernel: [] kernel_thread_helper+0x4/0x10 > Jul 21 09:41:22 luna kernel: [] ? kthread_worker_fn+0x1a0/0x1a0 > Jul 21 09:41:22 luna kernel: [] ? gs_change+0x13/0x13 > Jul 21 09:41:22 luna kernel: ---[ end trace 02c1fa3044677043 ]--- > a very similar warning here, but without compression involved: Jul 21 07:42:55 qualactin kernel: [57061.396898] ------------[ cut here ]------------ Jul 21 07:42:55 qualactin kernel: [57061.396923] WARNING: at fs/btrfs/extent-tree.c:5564 btrfs_alloc_reserved_file_extent+0xf8/0x100 [btrfs]() Jul 21 07:42:55 qualactin kernel: [57061.396927] Hardware name: X8SIL Jul 21 07:42:55 qualactin kernel: [57061.396930] Modules linked in: btrfs mpt2sas scsi_transport_sas raid_class [last unloaded: btrfs] Jul 21 07:42:55 qualactin kernel: [57061.396943] Pid: 10500, comm: btrfs-endio-wri Tainted: G W 2.6.39+ #53 Jul 21 07:42:55 qualactin kernel: [57061.396947] Call Trace: Jul 21 07:42:55 qualactin kernel: [57061.396958] [] warn_slowpath_common+0x7a/0xb0 Jul 21 07:42:55 qualactin kernel: [57061.396965] [] warn_slowpath_null+0x15/0x20 Jul 21 07:42:55 qualactin kernel: [57061.396982] [] btrfs_alloc_reserved_file_extent+0xf8/0x100 [btrfs] Jul 21 07:42:55 qualactin kernel: [57061.396991] [] ? _raw_spin_unlock+0x26/0x30 Jul 21 07:42:55 qualactin kernel: [57061.397007] [] T.1250+0x20a/0x260 [btrfs] Jul 21 07:42:55 qualactin kernel: [57061.397018] [] btrfs_finish_ordered_io+0x2db/0x330 [btrfs] Jul 21 07:42:55 qualactin kernel: [57061.397028] [] btrfs_writepage_end_io_hook+0x49/0x90 [btrfs] Jul 21 07:42:55 qualactin kernel: [57061.397039] [] end_bio_extent_writepage+0x13e/0x180 [btrfs] Jul 21 07:42:55 qualactin kernel: [57061.397043] [] bio_endio+0x18/0x40 Jul 21 07:42:55 qualactin kernel: [57061.397052] [] end_workqueue_fn+0xec/0x120 [btrfs] Jul 21 07:42:55 qualactin kernel: [57061.397062] [] worker_loop+0x14c/0x540 [btrfs] Jul 21 07:42:55 qualactin kernel: [57061.397072] [] ? btrfs_queue_worker+0x320/0x320 [btrfs] Jul 21 07:42:55 qualactin kernel: [57061.397076] [] kthread+0x9e/0xb0 Jul 21 07:42:55 qualactin kernel: [57061.397079] [] kernel_thread_helper+0x4/0x10 Jul 21 07:42:55 qualactin kernel: [57061.397082] [] ? _raw_spin_unlock_irq+0x2b/0x40 Jul 21 07:42:55 qualactin kernel: [57061.397085] [] ? retint_restore_args+0xe/0xe Jul 21 07:42:55 qualactin kernel: [57061.397088] [] ? __init_kthread_worker+0x70/0x70 Jul 21 07:42:55 qualactin kernel: [57061.397090] [] ? gs_change+0xb/0xb Jul 21 07:42:55 qualactin kernel: [57061.397092] ---[ end trace dd9e6d8cc54aa5e0 ]---