git: eb4d2eab0719 - stable/13 - Add some nvme initialization routines to TSLOG
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 21 Jan 2022 02:26:48 UTC
The branch stable/13 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=eb4d2eab0719744a9926f596dd4a20a3559af67c commit eb4d2eab0719744a9926f596dd4a20a3559af67c Author: Colin Percival <cperciva@FreeBSD.org> AuthorDate: 2021-09-05 19:48:43 +0000 Commit: Alexander Motin <mav@FreeBSD.org> CommitDate: 2022-01-21 02:07:30 +0000 Add some nvme initialization routines to TSLOG About 335 ms of EC2 instance boot time is being spent here. (cherry picked from commit bad42df9bfcb8d77bdec04ea1f9acd874c762740) --- sys/dev/nvme/nvme_ctrlr.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index 52eab6254d89..833bf328584a 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -407,6 +407,7 @@ nvme_ctrlr_hw_reset(struct nvme_controller *ctrlr) { int err; + TSENTER(); nvme_ctrlr_disable_qpairs(ctrlr); pause("nvmehwreset", hz / 10); @@ -414,7 +415,9 @@ nvme_ctrlr_hw_reset(struct nvme_controller *ctrlr) err = nvme_ctrlr_disable(ctrlr); if (err != 0) return err; - return (nvme_ctrlr_enable(ctrlr)); + err = nvme_ctrlr_enable(ctrlr); + TSEXIT(); + return (err); } void @@ -1045,6 +1048,8 @@ nvme_ctrlr_start(void *ctrlr_arg, bool resetting) uint32_t old_num_io_queues; int i; + TSENTER(); + /* * Only reset adminq here when we are restarting the * controller after a reset. During initialization, @@ -1117,6 +1122,7 @@ nvme_ctrlr_start(void *ctrlr_arg, bool resetting) for (i = 0; i < ctrlr->num_io_queues; i++) nvme_io_qpair_enable(&ctrlr->ioq[i]); + TSEXIT(); } void @@ -1124,6 +1130,8 @@ nvme_ctrlr_start_config_hook(void *arg) { struct nvme_controller *ctrlr = arg; + TSENTER(); + /* * Reset controller twice to ensure we do a transition from cc.en==1 to * cc.en==0. This is because we don't really know what status the @@ -1155,6 +1163,7 @@ fail: ctrlr->is_initialized = 1; nvme_notify_new_controller(ctrlr); + TSEXIT(); } static void