All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olaf Hering <olh@suse.de>
To: linux-kernel@vger.kernel.org
Cc: Olaf Hering <olh@suse.de>
Subject: very low performance on SCSI disks if device node is in tmpfs
Date: Tue, 25 May 2004 20:47:32 +0200	[thread overview]
Message-ID: <20040525184732.GB26661@suse.de> (raw)

[-- Attachment #1: Type: text/plain, Size: 770 bytes --]


Any ideas why the location of the device node makes such a big
difference? I always wondered why my firewire is so dog slow with 2.6.
Now I know the reason: /dev is in tmpfs.
I dont see that with IDE disks, only with SCSI.

(none):/# /sbin/hdparm -tT /dev/sdb

/dev/sdb:
 Timing buffer-cache reads:   2532 MB in  2.00 seconds = 1264.93 MB/sec
 Timing buffered disk reads:   48 MB in  3.12 seconds =  15.41 MB/sec
(none):/# /sbin/hdparm -tT /tmp/sdb

/tmp/sdb:
 Timing buffer-cache reads:   2328 MB in  2.00 seconds = 1163.01 MB/sec
 Timing buffered disk reads:   82 MB in  3.03 seconds =  27.03 MB/sec

This happens also with 2.6.1-mm kernels. I attach the profile with
devnode in tmpfs and on disk.

-- 
USB is for mice, FireWire is for men!

sUse lINUX ag, nÜRNBERG

[-- Attachment #2: profdisk1 --]
[-- Type: text/plain, Size: 6441 bytes --]

     1 .save_remaining_regs                       0.0063
     1 .DoSyscall                                 0.0093
     8 .handle_irq_event                          0.0278
 36214 .__iommu_free                             79.4167
     1 .pSeries_flush_hash_range                  0.0013
     1 .openpic2_get_irq                          0.0147
     1 .do_page_fault                             0.0007
     3 .__wake_up                                 0.0208
     8 .schedule                                  0.0036
     1 .__tasklet_schedule                        0.0039
     5 .r_start                                   0.0240
     1 .alloc_uid                                 0.0021
     3 .__lock_page_wq                            0.0068
     5 .wait_on_page_bit_wq                       0.0118
     3 .unlock_page                               0.0208
    76 .find_lock_page                            0.1131
     9 .add_to_page_cache_lru                     0.0833
     6 .read_cache_page                           0.0032
   142 .do_generic_mapping_read                   0.0625
     1 .grab_cache_page_nowait                    0.0013
     2 .__generic_file_aio_write_nolock           0.0006
     3 .mempool_resize                            0.0045
     4 .mempool_create                            0.0092
     3 .__free_pages_ok                           0.0066
     1 .__alloc_pages                             0.0009
     4 .write_one_page                            0.0049
     1 .page_cache_readahead                      0.0014
     6 .force_page_cache_readahead                0.0091
     3 .read_cache_pages                          0.0030
     1 .free_block                                0.0022
     1 .do_drain                                  0.0086
     2 .__cache_shrink                            0.0048
     1 .kstrdup_vec                               0.0035
     2 .slabinfo_write                            0.0037
     4 .__pagevec_lru_add_active                  0.0094
     1 .__pagevec_lru_add                         0.0026
     5 .lru_add_drain                             0.0298
     5 .__pagevec_release                         0.0694
     6 .invalidate_complete_page                  0.0117
    10 .truncate_complete_page                    0.0243
     3 .truncate_inode_pages                      0.0025
     1 .unmap_vmas                                0.0010
     1 .page_remove_rmap                          0.0026
     1 .shmem_truncate                            0.0008
     2 .shmem_getpage                             0.0005
     2 .generic_file_llseek                       0.0068
     1 .remove_inode_buffers                      0.0040
     2 .end_bio_bh_io_sync                        0.0119
     1 .nobh_truncate_page                        0.0017
     1 .buffer_io_error                           0.0114
     2 .drop_buffers                              0.0026
     2 .__find_get_block_slow                     0.0033
     1 .invalidate_bh_lru                         0.0068
     1 .__find_get_block                          0.0013
     3 .__bforget                                 0.0142
     1 .__block_commit_write                      0.0026
    10 .mark_buffer_dirty_inode                   0.0490
     4 .block_truncate_page                       0.0042
     6 .__block_prepare_write                     0.0044
     3 .block_invalidatepage                      0.0063
     2 .__bread                                   0.0060
     2 .end_buffer_async_write                    0.0042
     1 .bio_split                                 0.0027
     6 .bio_check_pages_dirty                     0.0101
     1 .bio_dirty_fn                              0.0021
     1 .sync_filesystems                          0.0018
     1 .bd_release                                0.0066
     1 .bd_claim                                  0.0045
     1 .pipe_release                              0.0028
     1 .dput                                      0.0013
     2 .ilookup                                   0.0069
     2 .destroy_inode                             0.0079
     1 .get_filesystem_list                       0.0045
     3 .generic_osync_inode                       0.0066
     1 .reiserfs_read_locked_inode                0.0004
     2 .reiserfs_iget                             0.0082
     1 .reiserfs_fill_super                       0.0003
    26 .search_by_key                             0.0034
     3 .reiserfs_delete_solid_item                0.0016
     4 .flush_commit_list                         0.0017
     1 .reiserfs_add_ordered_list                 0.0034
     4 .do_journal_end                            0.0008
     2 .do_journal_release                        0.0038
     1 .reiserfs_in_journal                       0.0016
     1 .reiserfs_resize                           0.0005
     1 .memmove                                   0.0833
     4 .__strncpy_from_user                       0.0667
     3 .bitreverse                                0.0174
  1482 .crc32_le                                  4.1167
    49 .qsort                                     0.0407
     6 .zlib_inflate_blocks                       0.0020
     1 .n_tty_ioctl                               0.0003
     1 .dev_set_rdonly                            0.0053
     2 .blk_queue_find_tag                        0.0417
     1 .blk_queue_init_tags                       0.0047
     1 .blk_queue_invalidate_tags                 0.0035
     2 .__make_request                            0.0010
     1 .blk_init_queue                            0.0019
     9 .blkdev_ioctl                              0.0036
     1 .bcm5201_suspend                           0.0033
    11 .scsi_host_lookup                          0.0372
     8 .__scsi_mode_sense                         0.0112
     1 .scsi_mode_sense                           0.0050
     1 .scsi_free_host_dev                        0.0038
     1 .scsi_alloc_sdev                           0.0008
     1 .scsi_probe_and_add_lun                    0.0003
     1 .ata_scsi_slave_config                     0.0045
     1 .bit_func                                  0.0417
     2 .i2c_stop                                  0.0030
     1 .dev_ethtool                               0.0003
     1 .tcp_sendmsg                               0.0002
     1 .inetdev_init                              0.0016
 38268 total                                      0.0102

[-- Attachment #3: proftmp1 --]
[-- Type: text/plain, Size: 5187 bytes --]

     4 .save_remaining_regs                       0.0250
     1 .DoSyscall                                 0.0093
    35 .handle_irq_event                          0.1215
     1 .sched_clock                               0.0312
     1 .__down_interruptible                      0.0027
     5 .power4_idle                               0.0347
 37021 .__iommu_free                             81.1864
     1 .openpic2_get_irq                          0.0147
     1 .flush_dcache_page                         0.0179
     5 .__wake_up                                 0.0347
    27 .schedule                                  0.0122
     1 .io_schedule                               0.0028
     1 .finish_wait                               0.0053
     2 .prepare_to_wait                           0.0106
     1 .remove_wait_queue                         0.0069
     1 .copy_process                              0.0002
     2 .__tasklet_hi_schedule                     0.0078
     3 .__tasklet_schedule                        0.0117
    25 .r_start                                   0.1202
     1 .alloc_uid                                 0.0021
     3 .__lock_page_wq                            0.0068
     2 .wait_on_page_bit_wq                       0.0047
     1 .unlock_page                               0.0069
    75 .find_lock_page                            0.1116
     1 .add_to_page_cache                         0.0014
     6 .add_to_page_cache_lru                     0.0556
     1 .read_cache_page                           0.0005
   147 .do_generic_mapping_read                   0.0647
     1 .wait_on_page_writeback_range_wq           0.0015
     3 .__generic_file_aio_write_nolock           0.0009
     3 .mempool_resize                            0.0045
     3 .mempool_create                            0.0069
     1 .setup_per_zone_pages_min                  0.0022
     1 .__free_pages_ok                           0.0022
     1 .__alloc_pages                             0.0009
     1 .write_one_page                            0.0012
     1 .do_page_cache_readahead                   0.0016
     6 .read_cache_pages                          0.0059
     1 .free_block                                0.0022
     1 .do_drain                                  0.0086
     3 .__cache_shrink                            0.0071
     1 .__kmalloc                                 0.0044
     1 .__pagevec_lru_add_active                  0.0024
     2 .lru_add_drain                             0.0119
     4 .__pagevec_release                         0.0556
     1 .invalidate_complete_page                  0.0020
     1 .truncate_complete_page                    0.0024
     2 .truncate_inode_pages                      0.0017
     1 .wakeup_kswapd                             0.0100
     1 .anon_vma_prepare                          0.0038
     1 .page_remove_rmap                          0.0026
     1 .unmap_pte_page                            0.0009
     2 .try_to_unmap_one                          0.0014
     2 .sys_readv                                 0.0063
     1 .invalidate_inode_buffers                  0.0048
     1 .nobh_commit_write                         0.0069
     1 .generic_cont_expand                       0.0014
     2 .submit_bh                                 0.0032
     1 .__find_get_block_slow                     0.0016
     2 .mark_buffer_dirty                         0.0116
     2 .block_invalidatepage                      0.0042
     1 .end_buffer_async_write                    0.0021
     1 .match_token                               0.0014
     2 .__strncpy_from_user                       0.0333
     4 .bitreverse                                0.0233
  1542 .crc32_le                                  4.2833
    42 .qsort                                     0.0349
     4 .zlib_inflate_blocks                       0.0013
     2 .tty_read                                  0.0044
     1 .start_tty                                 0.0032
     1 .blk_rq_map_sg                             0.0021
     1 .blk_queue_init_tags                       0.0047
     1 .blk_queue_invalidate_tags                 0.0035
     4 .__make_request                            0.0020
    11 .blkdev_ioctl                              0.0043
     1 .rd_open                                   0.0042
     1 .gem_interrupt                             0.0001
     1 .scsi_unregister                           0.0208
    50 .scsi_host_lookup                          0.1689
     1 .scsi_add_host                             0.0023
    18 .__scsi_mode_sense                         0.0253
     3 .scsi_mode_sense                           0.0150
    13 .scsi_free_host_dev                        0.0492
     2 .scsi_alloc_sdev                           0.0017
     1 .scsi_forget_host                          0.0046
     1 .scsi_probe_and_add_lun                    0.0003
     1 .keywest_timeout                           0.0040
     2 .i2c_stop                                  0.0030
     1 .netdev_run_todo                           0.0009
     1 .qdisc_kill_estimator                      0.0030
 39145 total                                      0.0105

             reply	other threads:[~2004-05-25 18:47 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-25 18:47 Olaf Hering [this message]
2004-05-25 19:14 ` very low performance on SCSI disks if device node is in tmpfs Richard B. Johnson
2004-05-25 19:34   ` Olaf Hering
2004-05-25 19:44     ` Richard B. Johnson
2004-05-25 20:02       ` Oliver Neukum
2004-05-25 21:48 ` Andrew Morton
2004-05-25 21:57   ` Richard B. Johnson
2004-05-25 21:59   ` Andrew Morton
2004-05-25 22:41     ` Andrew Morton
2004-05-26  0:05       ` Linus Torvalds
2004-05-26  0:10         ` viro
2004-05-26  0:14         ` Andrew Morton
2004-05-26  9:53       ` Olaf Hering

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=20040525184732.GB26661@suse.de \
    --to=olh@suse.de \
    --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.