/openbmc/linux/drivers/net/wireless/marvell/mwifiex/ |
H A D | 11n_aggr.h | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | 11n.h | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | txrx.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | 11n_aggr.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | 11n.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | wmm.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | util.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | tdls.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | uap_txrx.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | 11n_rxreorder.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | sta_event.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | sta_cmdresp.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | init.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | usb.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | cmdevt.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | scan.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | main.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
H A D | cfg80211.c | diff 8a7f9fd8a3e09c829c9fc2a86fe2d370ebcafd95 Tue Jun 25 12:40:45 CDT 2019 Brian Norris <briannorris@chromium.org> mwifiex: don't disable hardirqs; just softirqs
main_proc_lock and int_lock (in mwifiex_adapter) are the only spinlocks used in hardirq contexts. The rest are only in task or softirq contexts.
Convert every other lock from *_irq{save,restore}() variants to _bh() variants.
This is a mechanical transformation of all spinlock usage in mwifiex using the following:
Step 1: I ran this nasty sed script:
sed -i -E '/spin_lock_irqsave|spin_unlock_irqrestore/ { /main_proc_lock|int_lock/! { s:(spin_(un|)lock)_irq(save|restore):\1_bh: ; # Join broken lines. :a /;$/! { N; s/\s*\n\s*//; ba } /,.*\);$/ s:,.*\):\): } }' drivers/net/wireless/marvell/mwifiex/*
Step 2: Manually delete the flags / ra_list_flags args from:
mwifiex_send_single_packet() mwifiex_11n_aggregate_pkt() mwifiex_send_processed_packet()
which are now unused.
Step 3: Apply this semantic patch (coccinelle) to remove the unused 'flags' variables:
// <smpl> @@ type T; identifier i; @@
( extern T i; | - T i; ... when != i ) // </smpl>
(Usage is something like this:
make coccicheck COCCI=./patch.cocci MODE=patch M=drivers/net/wireless/marvell/mwifiex/
although this skips *.h files for some reasons, so I had to massage stuff.)
Testing: I've played with a variety of stress tests, including download stress tests on the same APs which caught regressions with commit 5188d5453bc9 ("mwifiex: restructure rx_reorder_tbl_lock usage"). I've primarily tested on Marvell 8997 / PCIe, although I've given 8897 / SDIO a quick spin as well.
Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|