Commit c201726
scsi: lpfc: Rework locking on SCSI io completion
A scsi host lock is taken on every io completion to check whether the abort
handler is waiting on the io completion. This is an expensive lock to take
on all completion when rarely in an abort condition.
Replace scsi host lock with command-specific lock. Synchronize completion
and abort paths by new cmd lock. Ensure all flag changing and nulling of
context pointers taken under lock. When adding lock to task management
abort, realized it was missing other synchronization locks. Added that
synchronization to match normal paths.
Signed-off-by: Dick Kennedy <[email protected]>
Signed-off-by: James Smart <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>1 parent b1684a0 commit c201726
File tree
5 files changed
+112
-74
lines changed- drivers/scsi/lpfc
5 files changed
+112
-74
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4160 | 4160 | | |
4161 | 4161 | | |
4162 | 4162 | | |
| 4163 | + | |
4163 | 4164 | | |
4164 | 4165 | | |
4165 | 4166 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
969 | 969 | | |
970 | 970 | | |
971 | 971 | | |
972 | | - | |
973 | | - | |
974 | | - | |
975 | | - | |
976 | | - | |
977 | | - | |
978 | | - | |
979 | | - | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
980 | 982 | | |
| 983 | + | |
| 984 | + | |
981 | 985 | | |
982 | 986 | | |
983 | 987 | | |
| |||
1154 | 1158 | | |
1155 | 1159 | | |
1156 | 1160 | | |
1157 | | - | |
1158 | 1161 | | |
1159 | | - | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
1160 | 1166 | | |
1161 | 1167 | | |
1162 | 1168 | | |
| |||
1781 | 1787 | | |
1782 | 1788 | | |
1783 | 1789 | | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
1784 | 1793 | | |
1785 | 1794 | | |
1786 | 1795 | | |
| |||
1789 | 1798 | | |
1790 | 1799 | | |
1791 | 1800 | | |
1792 | | - | |
1793 | 1801 | | |
1794 | 1802 | | |
1795 | 1803 | | |
1796 | 1804 | | |
1797 | 1805 | | |
1798 | 1806 | | |
1799 | | - | |
| 1807 | + | |
1800 | 1808 | | |
1801 | 1809 | | |
1802 | 1810 | | |
1803 | 1811 | | |
1804 | | - | |
1805 | 1812 | | |
1806 | 1813 | | |
1807 | 1814 | | |
1808 | 1815 | | |
1809 | | - | |
| 1816 | + | |
1810 | 1817 | | |
1811 | 1818 | | |
1812 | 1819 | | |
| |||
1816 | 1823 | | |
1817 | 1824 | | |
1818 | 1825 | | |
1819 | | - | |
1820 | 1826 | | |
1821 | 1827 | | |
1822 | 1828 | | |
1823 | 1829 | | |
1824 | 1830 | | |
1825 | 1831 | | |
1826 | | - | |
| 1832 | + | |
1827 | 1833 | | |
1828 | 1834 | | |
1829 | 1835 | | |
1830 | 1836 | | |
1831 | | - | |
1832 | 1837 | | |
1833 | 1838 | | |
1834 | 1839 | | |
1835 | 1840 | | |
1836 | | - | |
| 1841 | + | |
1837 | 1842 | | |
1838 | 1843 | | |
1839 | 1844 | | |
| |||
1877 | 1882 | | |
1878 | 1883 | | |
1879 | 1884 | | |
| 1885 | + | |
1880 | 1886 | | |
1881 | 1887 | | |
1882 | 1888 | | |
| |||
1892 | 1898 | | |
1893 | 1899 | | |
1894 | 1900 | | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
1895 | 1907 | | |
1896 | 1908 | | |
1897 | 1909 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
506 | 506 | | |
507 | 507 | | |
508 | 508 | | |
| 509 | + | |
509 | 510 | | |
510 | 511 | | |
511 | 512 | | |
| |||
712 | 713 | | |
713 | 714 | | |
714 | 715 | | |
715 | | - | |
716 | 716 | | |
717 | 717 | | |
718 | 718 | | |
| |||
3651 | 3651 | | |
3652 | 3652 | | |
3653 | 3653 | | |
| 3654 | + | |
| 3655 | + | |
| 3656 | + | |
3654 | 3657 | | |
3655 | 3658 | | |
3656 | | - | |
| 3659 | + | |
| 3660 | + | |
| 3661 | + | |
| 3662 | + | |
3657 | 3663 | | |
| 3664 | + | |
3658 | 3665 | | |
3659 | 3666 | | |
3660 | 3667 | | |
| |||
3860 | 3867 | | |
3861 | 3868 | | |
3862 | 3869 | | |
3863 | | - | |
3864 | | - | |
3865 | | - | |
3866 | | - | |
3867 | | - | |
3868 | | - | |
3869 | | - | |
3870 | | - | |
3871 | | - | |
3872 | | - | |
3873 | | - | |
| 3870 | + | |
| 3871 | + | |
3874 | 3872 | | |
3875 | 3873 | | |
3876 | 3874 | | |
3877 | 3875 | | |
3878 | 3876 | | |
3879 | | - | |
| 3877 | + | |
3880 | 3878 | | |
3881 | 3879 | | |
3882 | | - | |
3883 | | - | |
3884 | | - | |
3885 | | - | |
| 3880 | + | |
| 3881 | + | |
| 3882 | + | |
| 3883 | + | |
| 3884 | + | |
| 3885 | + | |
| 3886 | + | |
| 3887 | + | |
3886 | 3888 | | |
3887 | 3889 | | |
3888 | 3890 | | |
| |||
4563 | 4565 | | |
4564 | 4566 | | |
4565 | 4567 | | |
| 4568 | + | |
| 4569 | + | |
| 4570 | + | |
| 4571 | + | |
4566 | 4572 | | |
4567 | 4573 | | |
4568 | 4574 | | |
4569 | | - | |
4570 | 4575 | | |
4571 | 4576 | | |
4572 | 4577 | | |
4573 | | - | |
| 4578 | + | |
| 4579 | + | |
4574 | 4580 | | |
4575 | 4581 | | |
4576 | | - | |
4577 | | - | |
4578 | | - | |
| 4582 | + | |
| 4583 | + | |
| 4584 | + | |
| 4585 | + | |
4579 | 4586 | | |
4580 | 4587 | | |
4581 | 4588 | | |
4582 | 4589 | | |
4583 | | - | |
| 4590 | + | |
4584 | 4591 | | |
4585 | 4592 | | |
4586 | 4593 | | |
4587 | 4594 | | |
4588 | 4595 | | |
4589 | 4596 | | |
4590 | 4597 | | |
4591 | | - | |
| 4598 | + | |
4592 | 4599 | | |
4593 | 4600 | | |
4594 | 4601 | | |
4595 | 4602 | | |
4596 | 4603 | | |
4597 | | - | |
4598 | | - | |
4599 | | - | |
4600 | 4604 | | |
4601 | 4605 | | |
4602 | 4606 | | |
4603 | | - | |
| 4607 | + | |
| 4608 | + | |
4604 | 4609 | | |
4605 | 4610 | | |
4606 | 4611 | | |
| |||
4609 | 4614 | | |
4610 | 4615 | | |
4611 | 4616 | | |
4612 | | - | |
4613 | | - | |
4614 | 4617 | | |
4615 | 4618 | | |
4616 | 4619 | | |
4617 | | - | |
| 4620 | + | |
4618 | 4621 | | |
4619 | 4622 | | |
4620 | 4623 | | |
| |||
4625 | 4628 | | |
4626 | 4629 | | |
4627 | 4630 | | |
| 4631 | + | |
4628 | 4632 | | |
4629 | 4633 | | |
4630 | 4634 | | |
4631 | 4635 | | |
4632 | 4636 | | |
4633 | 4637 | | |
4634 | 4638 | | |
4635 | | - | |
4636 | | - | |
4637 | | - | |
| 4639 | + | |
4638 | 4640 | | |
4639 | 4641 | | |
4640 | 4642 | | |
| |||
4684 | 4686 | | |
4685 | 4687 | | |
4686 | 4688 | | |
4687 | | - | |
4688 | 4689 | | |
4689 | | - | |
4690 | | - | |
4691 | | - | |
4692 | | - | |
4693 | 4690 | | |
4694 | 4691 | | |
4695 | 4692 | | |
4696 | | - | |
4697 | | - | |
4698 | | - | |
4699 | | - | |
| 4693 | + | |
4700 | 4694 | | |
4701 | 4695 | | |
4702 | 4696 | | |
4703 | 4697 | | |
4704 | 4698 | | |
| 4699 | + | |
| 4700 | + | |
4705 | 4701 | | |
4706 | 4702 | | |
4707 | 4703 | | |
| |||
4712 | 4708 | | |
4713 | 4709 | | |
4714 | 4710 | | |
4715 | | - | |
4716 | | - | |
4717 | | - | |
| 4711 | + | |
4718 | 4712 | | |
4719 | 4713 | | |
4720 | 4714 | | |
| |||
4725 | 4719 | | |
4726 | 4720 | | |
4727 | 4721 | | |
| 4722 | + | |
4728 | 4723 | | |
4729 | 4724 | | |
| 4725 | + | |
| 4726 | + | |
| 4727 | + | |
| 4728 | + | |
| 4729 | + | |
4730 | 4730 | | |
4731 | 4731 | | |
4732 | 4732 | | |
| |||
0 commit comments