NetBSD-Users archive

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

Re: NetBSD block vs raw disk I/O



2018-08-10 11:35 GMT+02:00 Sad Clouds <cryintothebluesky%gmail.com@localhost>:
> localhost# dd if=/dev/rsd0d of=/dev/null bs=1m count=10000
> 10000+0 records in
> 10000+0 records out
> 10485760000 bytes transferred in 11.749 secs (892481062 bytes/sec)
>
> localhost# dd if=/dev/sd0d of=/dev/null bs=1m count=10000
> 10000+0 records in
> 10000+0 records out
> 10485760000 bytes transferred in 196.552 secs (53348528 bytes/sec)
>
> Any ideas why block device I/O is so abysmal? Is this something
> specific to NetBSD?

There is some experimental code on -current to optimize one part of
the read/write-based I/O, supported on amd64.

You can just boot a -current kernel (for example one from daily
builds) to single user, and enable the code by escaping to DDB and
setting variable ubc_direct to 1 (ctrl-alt-esc will give you DDB
prompt, then 'w ubc_direct 1'), then 'continue' in DDB, then run your
dd command.

Jaromir


Home | Main Index | Thread Index | Old Index