@@ -1437,180 +1437,6 @@ Description:
1437
1437
If avail_wb_buff < wb_flush_threshold, it indicates that WriteBooster buffer needs to
1438
1438
be flushed, otherwise it is not necessary.
1439
1439
1440
- What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/hpb_version
1441
- What: /sys/bus/platform/devices/*.ufs/device_descriptor/hpb_version
1442
- Date: June 2021
1443
- Contact: Daejun Park <daejun7.park@samsung.com>
1444
- Description: This entry shows the HPB specification version.
1445
- The full information about the descriptor can be found in the UFS
1446
- HPB (Host Performance Booster) Extension specifications.
1447
- Example: version 1.2.3 = 0123h
1448
-
1449
- The file is read only.
1450
-
1451
- What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/hpb_control
1452
- What: /sys/bus/platform/devices/*.ufs/device_descriptor/hpb_control
1453
- Date: June 2021
1454
- Contact: Daejun Park <daejun7.park@samsung.com>
1455
- Description: This entry shows an indication of the HPB control mode.
1456
- 00h: Host control mode
1457
- 01h: Device control mode
1458
-
1459
- The file is read only.
1460
-
1461
- What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_region_size
1462
- What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_region_size
1463
- Date: June 2021
1464
- Contact: Daejun Park <daejun7.park@samsung.com>
1465
- Description: This entry shows the bHPBRegionSize which can be calculated
1466
- as in the following (in bytes):
1467
- HPB Region size = 512B * 2^bHPBRegionSize
1468
-
1469
- The file is read only.
1470
-
1471
- What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_number_lu
1472
- What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_number_lu
1473
- Date: June 2021
1474
- Contact: Daejun Park <daejun7.park@samsung.com>
1475
- Description: This entry shows the maximum number of HPB LU supported by
1476
- the device.
1477
- 00h: HPB is not supported by the device.
1478
- 01h ~ 20h: Maximum number of HPB LU supported by the device
1479
-
1480
- The file is read only.
1481
-
1482
- What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_subregion_size
1483
- What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_subregion_size
1484
- Date: June 2021
1485
- Contact: Daejun Park <daejun7.park@samsung.com>
1486
- Description: This entry shows the bHPBSubRegionSize, which can be
1487
- calculated as in the following (in bytes) and shall be a multiple of
1488
- logical block size:
1489
- HPB Sub-Region size = 512B x 2^bHPBSubRegionSize
1490
- bHPBSubRegionSize shall not exceed bHPBRegionSize.
1491
-
1492
- The file is read only.
1493
-
1494
- What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_max_active_regions
1495
- What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_max_active_regions
1496
- Date: June 2021
1497
- Contact: Daejun Park <daejun7.park@samsung.com>
1498
- Description: This entry shows the maximum number of active HPB regions that
1499
- is supported by the device.
1500
-
1501
- The file is read only.
1502
-
1503
- What: /sys/class/scsi_device/*/device/unit_descriptor/hpb_lu_max_active_regions
1504
- Date: June 2021
1505
- Contact: Daejun Park <daejun7.park@samsung.com>
1506
- Description: This entry shows the maximum number of HPB regions assigned to
1507
- the HPB logical unit.
1508
-
1509
- The file is read only.
1510
-
1511
- What: /sys/class/scsi_device/*/device/unit_descriptor/hpb_pinned_region_start_offset
1512
- Date: June 2021
1513
- Contact: Daejun Park <daejun7.park@samsung.com>
1514
- Description: This entry shows the start offset of HPB pinned region.
1515
-
1516
- The file is read only.
1517
-
1518
- What: /sys/class/scsi_device/*/device/unit_descriptor/hpb_number_pinned_regions
1519
- Date: June 2021
1520
- Contact: Daejun Park <daejun7.park@samsung.com>
1521
- Description: This entry shows the number of HPB pinned regions assigned to
1522
- the HPB logical unit.
1523
-
1524
- The file is read only.
1525
-
1526
- What: /sys/class/scsi_device/*/device/hpb_stats/hit_cnt
1527
- Date: June 2021
1528
- Contact: Daejun Park <daejun7.park@samsung.com>
1529
- Description: This entry shows the number of reads that changed to HPB read.
1530
-
1531
- The file is read only.
1532
-
1533
- What: /sys/class/scsi_device/*/device/hpb_stats/miss_cnt
1534
- Date: June 2021
1535
- Contact: Daejun Park <daejun7.park@samsung.com>
1536
- Description: This entry shows the number of reads that cannot be changed to
1537
- HPB read.
1538
-
1539
- The file is read only.
1540
-
1541
- What: /sys/class/scsi_device/*/device/hpb_stats/rcmd_noti_cnt
1542
- Date: June 2021
1543
- Contact: Daejun Park <daejun7.park@samsung.com>
1544
- Description: This entry shows the number of response UPIUs that has
1545
- recommendations for activating sub-regions and/or inactivating region.
1546
-
1547
- The file is read only.
1548
-
1549
- What: /sys/class/scsi_device/*/device/hpb_stats/rcmd_active_cnt
1550
- Date: June 2021
1551
- Contact: Daejun Park <daejun7.park@samsung.com>
1552
- Description: For the HPB device control mode, this entry shows the number of
1553
- active sub-regions recommended by response UPIUs. For the HPB host control
1554
- mode, this entry shows the number of active sub-regions recommended by the
1555
- HPB host control mode heuristic algorithm.
1556
-
1557
- The file is read only.
1558
-
1559
- What: /sys/class/scsi_device/*/device/hpb_stats/rcmd_inactive_cnt
1560
- Date: June 2021
1561
- Contact: Daejun Park <daejun7.park@samsung.com>
1562
- Description: For the HPB device control mode, this entry shows the number of
1563
- inactive regions recommended by response UPIUs. For the HPB host control
1564
- mode, this entry shows the number of inactive regions recommended by the
1565
- HPB host control mode heuristic algorithm.
1566
-
1567
- The file is read only.
1568
-
1569
- What: /sys/class/scsi_device/*/device/hpb_stats/map_req_cnt
1570
- Date: June 2021
1571
- Contact: Daejun Park <daejun7.park@samsung.com>
1572
- Description: This entry shows the number of read buffer commands for
1573
- activating sub-regions recommended by response UPIUs.
1574
-
1575
- The file is read only.
1576
-
1577
- What: /sys/class/scsi_device/*/device/hpb_params/requeue_timeout_ms
1578
- Date: June 2021
1579
- Contact: Daejun Park <daejun7.park@samsung.com>
1580
- Description: This entry shows the requeue timeout threshold for write buffer
1581
- command in ms. The value can be changed by writing an integer to
1582
- this entry.
1583
-
1584
- What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_size_hpb_single_cmd
1585
- What: /sys/bus/platform/devices/*.ufs/attributes/max_data_size_hpb_single_cmd
1586
- Date: June 2021
1587
- Contact: Daejun Park <daejun7.park@samsung.com>
1588
- Description: This entry shows the maximum HPB data size for using a single HPB
1589
- command.
1590
-
1591
- === ========
1592
- 00h 4KB
1593
- 01h 8KB
1594
- 02h 12KB
1595
- ...
1596
- FFh 1024KB
1597
- === ========
1598
-
1599
- The file is read only.
1600
-
1601
- What: /sys/bus/platform/drivers/ufshcd/*/flags/hpb_enable
1602
- What: /sys/bus/platform/devices/*.ufs/flags/hpb_enable
1603
- Date: June 2021
1604
- Contact: Daejun Park <daejun7.park@samsung.com>
1605
- Description: This entry shows the status of HPB.
1606
-
1607
- == ============================
1608
- 0 HPB is not enabled.
1609
- 1 HPB is enabled
1610
- == ============================
1611
-
1612
- The file is read only.
1613
-
1614
1440
Contact: Daniil Lunev <dlunev@chromium.org>
1615
1441
What: /sys/bus/platform/drivers/ufshcd/*/capabilities/
1616
1442
What: /sys/bus/platform/devices/*.ufs/capabilities/
@@ -1648,76 +1474,3 @@ Description: Indicates status of Write Booster.
1648
1474
1649
1475
The file is read only.
1650
1476
1651
- What: /sys/class/scsi_device/*/device/hpb_param_sysfs/activation_thld
1652
- Date: February 2021
1653
- Contact: Avri Altman <avri.altman@wdc.com>
1654
- Description: In host control mode, reads are the major source of activation
1655
- trials. Once this threshold hs met, the region is added to the
1656
- "to-be-activated" list. Since we reset the read counter upon
1657
- write, this include sending a rb command updating the region
1658
- ppn as well.
1659
-
1660
- What: /sys/class/scsi_device/*/device/hpb_param_sysfs/normalization_factor
1661
- Date: February 2021
1662
- Contact: Avri Altman <avri.altman@wdc.com>
1663
- Description: In host control mode, we think of the regions as "buckets".
1664
- Those buckets are being filled with reads, and emptied on write.
1665
- We use entries_per_srgn - the amount of blocks in a subregion as
1666
- our bucket size. This applies because HPB1.0 only handles
1667
- single-block reads. Once the bucket size is crossed, we trigger
1668
- a normalization work - not only to avoid overflow, but mainly
1669
- because we want to keep those counters normalized, as we are
1670
- using those reads as a comparative score, to make various decisions.
1671
- The normalization is dividing (shift right) the read counter by
1672
- the normalization_factor. If during consecutive normalizations
1673
- an active region has exhausted its reads - inactivate it.
1674
-
1675
- What: /sys/class/scsi_device/*/device/hpb_param_sysfs/eviction_thld_enter
1676
- Date: February 2021
1677
- Contact: Avri Altman <avri.altman@wdc.com>
1678
- Description: Region deactivation is often due to the fact that eviction took
1679
- place: A region becomes active at the expense of another. This is
1680
- happening when the max-active-regions limit has been crossed.
1681
- In host mode, eviction is considered an extreme measure. We
1682
- want to verify that the entering region has enough reads, and
1683
- the exiting region has much fewer reads. eviction_thld_enter is
1684
- the min reads that a region must have in order to be considered
1685
- a candidate for evicting another region.
1686
-
1687
- What: /sys/class/scsi_device/*/device/hpb_param_sysfs/eviction_thld_exit
1688
- Date: February 2021
1689
- Contact: Avri Altman <avri.altman@wdc.com>
1690
- Description: Same as above for the exiting region. A region is considered to
1691
- be a candidate for eviction only if it has fewer reads than
1692
- eviction_thld_exit.
1693
-
1694
- What: /sys/class/scsi_device/*/device/hpb_param_sysfs/read_timeout_ms
1695
- Date: February 2021
1696
- Contact: Avri Altman <avri.altman@wdc.com>
1697
- Description: In order not to hang on to "cold" regions, we inactivate
1698
- a region that has no READ access for a predefined amount of
1699
- time - read_timeout_ms. If read_timeout_ms has expired, and the
1700
- region is dirty, it is less likely that we can make any use of
1701
- HPB reading it so we inactivate it. Still, deactivation has
1702
- its overhead, and we may still benefit from HPB reading this
1703
- region if it is clean - see read_timeout_expiries.
1704
-
1705
- What: /sys/class/scsi_device/*/device/hpb_param_sysfs/read_timeout_expiries
1706
- Date: February 2021
1707
- Contact: Avri Altman <avri.altman@wdc.com>
1708
- Description: If the region read timeout has expired, but the region is clean,
1709
- just re-wind its timer for another spin. Do that as long as it
1710
- is clean and did not exhaust its read_timeout_expiries threshold.
1711
-
1712
- What: /sys/class/scsi_device/*/device/hpb_param_sysfs/timeout_polling_interval_ms
1713
- Date: February 2021
1714
- Contact: Avri Altman <avri.altman@wdc.com>
1715
- Description: The frequency with which the delayed worker that checks the
1716
- read_timeouts is awakened.
1717
-
1718
- What: /sys/class/scsi_device/*/device/hpb_param_sysfs/inflight_map_req
1719
- Date: February 2021
1720
- Contact: Avri Altman <avri.altman@wdc.com>
1721
- Description: In host control mode the host is the originator of map requests.
1722
- To avoid flooding the device with map requests, use a simple throttling
1723
- mechanism that limits the number of inflight map requests.
0 commit comments