Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 May 2018 11:15:11 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 228359] rebuild gmirror + ufs + ssd +trim
Message-ID:  <bug-228359-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228359

            Bug ID: 228359
           Summary: rebuild gmirror + ufs + ssd +trim
           Product: Base System
           Version: 11.1-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: freebsd@ihead.ru

Assume the situation.

Have gmirror with 2 ssd components (ada0, ada1). UFS over gmirror.
One component (e.g., ada1) becomes broken and should be replaced.
gmirror forget gm0
replace broken drive with new one
gmirror insert gm0 ada1
gmirror rebuid gm0 ada1 (if autosync was disabled)

Wait some time until synchronization done.

Now what we have?
ada0 fine, but ada1 is fully dd'ed. From drive side ada1 is fully written.
Now we start write large volume of data to fs, and see (systat -vmstat) that
ada1 performs poorly (low write speed, high busy percentage).
When we remove large file from fs, TRIM is sent to ada1 and it begin perform
better (on new big write, hight write speed, less busy percentage).

Now the question.

Is there a way to send TRIM commands to ada1 after rebuild according UFS state
to allow drive know what "regions" should be considered as currently unused?

The way I found: is to create a large file and to delete it, but it is not
good, because of low overall performance during creation of a file.

-- 
You are receiving this mail because:
You are the assignee for the bug.

help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-228359-227>