Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tfc j9500 mtwx50 tc 01 #8

Open
wants to merge 10,000 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
0e81765
kconfig: fix memory leak when EOF is encountered in quotation
masahir0y Dec 11, 2018
48cb2db
mmc: atmel-mci: do not assume idle after atmci_request_end
Oct 19, 2018
55f67c9
perf intel-pt: Fix error with config term "pt=0"
ahunter6 Nov 26, 2018
7b9677e
perf svghelper: Fix unchecked usage of strncpy()
acmel Dec 6, 2018
0bce6d2
perf parse-events: Fix unchecked usage of strncpy()
acmel Dec 6, 2018
e31cc4b
dm kcopyd: Fix bug causing workqueue stalls
ntsiron Oct 31, 2018
8ccd81e
dm snapshot: Fix excessive memory usage and workqueue stalls
ntsiron Oct 31, 2018
5d0ab08
ALSA: bebob: fix model-id of unit for Apogee Ensemble
takaswie Dec 19, 2018
36b9630
sysfs: Disable lockdep for driver bind/unbind files
danvet Dec 19, 2018
09d3be7
scsi: megaraid: fix out-of-bound array accesses
Dec 13, 2018
829ff9b
ocfs2: fix panic due to unrecovered local alloc
biger410 Dec 28, 2018
4c0b9a2
mm/page-writeback.c: don't break integrity writeback on ->writepage()…
Dec 28, 2018
e660576
mm, proc: be more verbose about unstable VMA flags in /proc/<pid>/smaps
Dec 28, 2018
de61497
net: speed up skb_rbtree_purge()
Sep 23, 2017
cd2402d
ipmi:ssif: Fix handling of multi-part return messages
cminyard Nov 16, 2018
626b008
Linux 4.4.172
gregkh Jan 26, 2019
df5fc99
media: tp2825: Change the tp2825 driver
mingyoungbo Jan 22, 2019
b76a106
media: nexell: clipper: fix a pwm configuration
cjscld15 Jan 24, 2019
2be4c76
dtsi: s5p4418: navi_ref: enable decimator nodes.
cjscld15 Jan 24, 2019
ad09d8c
Merge 4.4.172 into android-4.4-p
gregkh Jan 28, 2019
2db0195
arm: dts: convergence_daudio: remove dts of MAX9286
Jan 25, 2019
3ef06b3
defconfig: convergence_daudio: Adds defconfig
Jan 25, 2019
da95a7a
dtsi: s5p4418_con_svma: change pll for audio dfs
Jan 28, 2019
468f84f
dtsi: s5p4418_con_svma: delete i2s2 mclk node
Jan 28, 2019
3976473
dtsi: s5p4418_con_svma: divide sound card with main/sub
Jan 28, 2019
dfd751b
defconfig: upload test defconfig for ci/cd
Jan 31, 2019
f5cafa7
defconfig: s5p4418_daudio_ref: Update kernel config
kjlee81 Feb 1, 2019
c8d61d0
net: wlan: bcmdhd_cypress: support feature for module type
mingyoungbo Jan 30, 2019
43219a8
arm: defconfig: con_svma_quickboot: change driver to module driver
mingyoungbo Jan 30, 2019
ba492d5
arm: dtsi: con_svma: change SDIO1 module type
mingyoungbo Jan 28, 2019
6fc3cfe
arm: dts: convergence_daudio: change dts for USBOTG
Jan 30, 2019
560585b
media: tp2825: Change the tp2825 driver
mingyoungbo Feb 11, 2019
bb51819
media: nexell: clipper: change module for default camera
mingyoungbo Feb 11, 2019
b9a42ac
arm: defconfig: con_svma_quickboot: change driver to module driver
mingyoungbo Feb 11, 2019
0b994ac
sound: alc5623: remove kernel log
mingyoungbo Feb 11, 2019
0cc660d
media: tw9900: Add CONFIG_V4L2_INIT_LEVEL_UP
Feb 12, 2019
2c62ac5
arm: dts: convergence_daudio: modify the dts file
Feb 12, 2019
2d9f939
defconfig: convergence_daudio: modify the defconfig file
Feb 12, 2019
b66a100
arm: dtsi: con_svma: modify the dts file
mingyoungbo Feb 13, 2019
270e40b
defconfig: con_svma: modify the defconfig file
mingyoungbo Feb 13, 2019
1909339
media: nexell: rearcam: add a vip clock control
cjscld15 Feb 14, 2019
e7ca89f
dtsi: s5p4418_con_svma: change camera sensor of clipper
mingyoungbo Feb 14, 2019
8bb43d7
arm: defconfig: con_svma_quickboot: modify the defconfig file
mingyoungbo Feb 15, 2019
a6f5387
dtsi: s5p4418_convergence: modify pwm port
mingyoungbo Feb 15, 2019
286abd8
dtsi: s5p4418_convergence_svmc: change pll for audio dfs
Feb 14, 2019
a1d930d
dtsi: s5p4418_convergence_daudio: change pll for audio dfs
Feb 14, 2019
da0e530
dtsi: s5p4418_convergence_svmc: delete i2s2 mclk node
Feb 14, 2019
7bb8071
dtsi: s5p4418_convergence_daudio: delete i2s2 mclk node
Feb 14, 2019
7506f85
dtsi: s5p4418_convergence_svmc: divide sound card with main/sub
Feb 14, 2019
5d631e5
dtsi: s5p4418_convergence_daudio: divide sound card with main/sub
Feb 14, 2019
95fdc9d
dtsi: s5p4418_con_svma: modify pwm setting
mingyoungbo Feb 19, 2019
3cd9439
dtsi: s5p4418_convergence_daudio: modify pwm setting
mingyoungbo Feb 19, 2019
a3d8480
dtsi: s5p4418_convergence_svmc: modify pwm setting
mingyoungbo Feb 19, 2019
9b15720
arm: defconfig: con_svma_pie: Disable DVFS
swpark Feb 19, 2019
214b3c6
defconfig: s5p6818_avn_ref: add TMU driver to linux defconfig
Feb 20, 2019
b96c9d3
Merge tag 'ASB-2019-02-05_4.4-p' into pie-4.4.172
swpark Feb 20, 2019
d67ba2e
arm: defconfig: con_svma_pie: Disable GATOR
swpark Feb 20, 2019
96f219a
defconfig: daudio_ref: Add uinput feature
kjlee81 Nov 29, 2018
d5c50d5
DRM: nexell: change the default lvds format
Dec 19, 2018
51d8c81
defconfig: convergence_daudio: add initial defconfig
Dec 17, 2018
dc2605c
arm: dts: convergence_daudio: add convergence_daudio board dts file
Dec 17, 2018
8fec2d9
media: tp2912: fix the tp2912 init reg value to enable the 720p output
Jan 2, 2019
0edd8a1
media: nx-vpu: add compatible vpu driver
nexell-doriya Jan 3, 2019
9301a46
arm: dtsi: change compatible name of vpu
nexell-doriya Jan 3, 2019
ff371ba
arm64: dtsi: change compatible name of vpu
nexell-doriya Jan 3, 2019
a9ed276
media: tw8834: add tw8834 device driver
Jan 2, 2019
1be3dfb
s5p6818_avn_ref_nougat: configs:enable deinterlace
cjscld15 Dec 14, 2018
c946046
dtsi: s5p6818_avn_ref: add a new deinterlacer node
cjscld15 Dec 14, 2018
9fbaa20
dtsi: s5p6818_avn_ref: add decimator node
cjscld15 Dec 14, 2018
5553715
dtsi: s5p6818_avn_ref: add logical video nodes
cjscld15 Dec 19, 2018
a69c521
media: tw8834: remove the unused variable
Jan 14, 2019
0281d7a
arm: dtsi: s5p4418_convergence_svmc: change default camera for tp2825
mingyoungbo Jan 8, 2019
adc934b
media: tp2825: Change the tp2825 driver
mingyoungbo Jan 8, 2019
5bf2642
media: nexell: decimator: fix a bug about checking vip module
cjscld15 Jan 17, 2019
7c0f73e
arm: defconfig: con_svma: enables tw9900 sensor
cjscld15 Jan 17, 2019
9952242
dtsi: s5p4418_con_svma: fix formatting
cjscld15 Jan 17, 2019
98dd820
dtsi: s5p4418_con_svma: add logical video nodes
cjscld15 Jan 21, 2019
df2b99c
arm: dts: convergence_daudio: change tp2825 and dp_drm
Jan 23, 2019
24bb88d
media: tp2825: Change the tp2825 driver
mingyoungbo Jan 22, 2019
837c8a8
media: nexell: clipper: fix a pwm configuration
cjscld15 Jan 24, 2019
c15612a
dtsi: s5p4418: navi_ref: enable decimator nodes.
cjscld15 Jan 24, 2019
56a8bcf
arm: dts: convergence_daudio: remove dts of MAX9286
Jan 25, 2019
95fed7c
defconfig: convergence_daudio: Adds defconfig
Jan 25, 2019
934a82f
dtsi: s5p4418_con_svma: change pll for audio dfs
Jan 28, 2019
4c81d25
dtsi: s5p4418_con_svma: delete i2s2 mclk node
Jan 28, 2019
18958d1
dtsi: s5p4418_con_svma: divide sound card with main/sub
Jan 28, 2019
15ac460
defconfig: upload test defconfig for ci/cd
Jan 31, 2019
a639b65
defconfig: s5p4418_daudio_ref: Update kernel config
kjlee81 Feb 1, 2019
5640189
net: wlan: bcmdhd_cypress: support feature for module type
mingyoungbo Jan 30, 2019
f6c49e1
arm: defconfig: con_svma_quickboot: change driver to module driver
mingyoungbo Jan 30, 2019
c867656
arm: dtsi: con_svma: change SDIO1 module type
mingyoungbo Jan 28, 2019
f573bdd
arm: dts: convergence_daudio: change dts for USBOTG
Jan 30, 2019
8a4975d
media: tp2825: Change the tp2825 driver
mingyoungbo Feb 11, 2019
13e7e05
media: nexell: clipper: change module for default camera
mingyoungbo Feb 11, 2019
ecaa0aa
arm: defconfig: con_svma_quickboot: change driver to module driver
mingyoungbo Feb 11, 2019
f4054b0
sound: alc5623: remove kernel log
mingyoungbo Feb 11, 2019
8525c36
media: tw9900: Add CONFIG_V4L2_INIT_LEVEL_UP
Feb 12, 2019
ea3c32d
arm: dts: convergence_daudio: modify the dts file
Feb 12, 2019
1ab612e
defconfig: convergence_daudio: modify the defconfig file
Feb 12, 2019
458d3c9
arm: dtsi: con_svma: modify the dts file
mingyoungbo Feb 13, 2019
72747e5
defconfig: con_svma: modify the defconfig file
mingyoungbo Feb 13, 2019
bd1926d
media: nexell: rearcam: add a vip clock control
cjscld15 Feb 14, 2019
60a8a7c
dtsi: s5p4418_con_svma: change camera sensor of clipper
mingyoungbo Feb 14, 2019
baa9d47
arm: defconfig: con_svma_quickboot: modify the defconfig file
mingyoungbo Feb 15, 2019
e80ebb7
dtsi: s5p4418_convergence: modify pwm port
mingyoungbo Feb 15, 2019
f07669c
dtsi: s5p4418_convergence_svmc: change pll for audio dfs
Feb 14, 2019
49bc560
dtsi: s5p4418_convergence_daudio: change pll for audio dfs
Feb 14, 2019
ba30029
dtsi: s5p4418_convergence_svmc: delete i2s2 mclk node
Feb 14, 2019
85167fd
dtsi: s5p4418_convergence_daudio: delete i2s2 mclk node
Feb 14, 2019
78deb5a
dtsi: s5p4418_convergence_svmc: divide sound card with main/sub
Feb 14, 2019
2222327
dtsi: s5p4418_convergence_daudio: divide sound card with main/sub
Feb 14, 2019
2ec3ab4
dtsi: s5p4418_con_svma: modify pwm setting
mingyoungbo Feb 19, 2019
7810896
dtsi: s5p4418_convergence_daudio: modify pwm setting
mingyoungbo Feb 19, 2019
45a76e7
dtsi: s5p4418_convergence_svmc: modify pwm setting
mingyoungbo Feb 19, 2019
70c1c6c
media: tw9900: remove delay
mingyoungbo Feb 25, 2019
9b596ca
dmaengine: amba-pl08x: fix wrong callback on isr
Feb 25, 2019
4810316
Revert "dmaengine: amba-pl08x: fix wrong callback on isr"
Feb 26, 2019
ea468d8
dtsi: s5p4418_con_svma: modify backlight default value
mingyoungbo Feb 26, 2019
c00beb6
dtsi: s5p4418_convergence_daudio: modify backlight default value
mingyoungbo Feb 26, 2019
93fbb42
dtsi: s5p4418_convergence_svmc: modify backlight default value
mingyoungbo Feb 26, 2019
4f0da7b
dtsi: s5p4418_con_svma: add sensor definition
cjscld15 Feb 26, 2019
549d4d7
media: tp2825: change min fps in a supported resolutions list
cjscld15 Feb 26, 2019
38769e1
dmaengine: amba-pl08x: fix wrong callback on isr
Feb 26, 2019
7f76d54
dtsi: s5p4418_con_svma: modify backlight default value
mingyoungbo Feb 27, 2019
a4b6cfa
dtsi: s5p4418_convergence_daudio: modify backlight default value
mingyoungbo Feb 27, 2019
a1cf65a
dtsi: s5p4418_convergence_svmc: modify backlight default value
mingyoungbo Feb 27, 2019
4dcec71
media: tp2825: modify tp2825 driver
mingyoungbo Feb 27, 2019
118a60f
s5p6818_avn_ref_nougat_quickboot: add TMU driver to android quick def…
killhwanBAE Feb 27, 2019
f5e5c7c
defconfig: s5p6818_avn_ref: add TMU driver to linux defconfig
Feb 20, 2019
7af7e15
media: tw9900: remove delay
mingyoungbo Feb 25, 2019
a7a6bc3
dmaengine: amba-pl08x: fix wrong callback on isr
Feb 25, 2019
a08728f
Revert "dmaengine: amba-pl08x: fix wrong callback on isr"
Feb 26, 2019
9eb9ede
dtsi: s5p4418_con_svma: modify backlight default value
mingyoungbo Feb 26, 2019
9aa7c87
dtsi: s5p4418_convergence_daudio: modify backlight default value
mingyoungbo Feb 26, 2019
286c669
dtsi: s5p4418_convergence_svmc: modify backlight default value
mingyoungbo Feb 26, 2019
e48088f
dmaengine: amba-pl08x: fix wrong callback on isr
Feb 26, 2019
03cf613
arm: defconfig: con_svma_pie: Apply pie default
swpark Mar 11, 2019
55d3fd7
random: Remove uninitialized random warning
swpark Mar 11, 2019
68bd031
BACKPORT: arm64: Add CNTVCT_EL0 trap handler
Feb 1, 2017
f360bb1
BACKPORT: arm64: Add CNTFRQ_EL0 trap handler
Apr 24, 2017
27927f2
arm64: issue isb when trapping CNTVCT_EL0 access
greghackmann Oct 4, 2017
3dbd240
drm/nexell: Fix invalid display mode for HDMI
Apr 4, 2019
7421952
media: nx-vpu: bug fix memory corruption
NexellHcjun Apr 8, 2019
47d6510
media: tp2825: modify tp2825 driver
mingyoungbo Feb 27, 2019
207b4a2
usb: f_mtp: add null checking
cjscld15 Apr 30, 2019
30ae98d
net: wireless: bcmdhd: Trace message cleanup
Mar 12, 2019
3792538
dtsi: nanopi2/3: add gpio-leds (LED1) node
Apr 9, 2019
1703408
input: ts-if: add compat_ioctl for 32-bit apps
May 8, 2019
61300ce
Merge branch 'nexell_bsp_r2' into nanopi2-v4.4.y
May 9, 2019
7a72baa
configs: nanopi2/3: disable GATOR, savedefconfig
Mar 11, 2019
4091ad6
media: nexell: clipper: refactor driver probe
Mar 12, 2019
5977223
sched/tune: access schedtune_initialized under CGROUP_SCHEDTUNE
Jun 8, 2017
19e0e96
v4l: remove MEDIA_TUNER dependency for VIDEO_TUNER
arndb Jan 26, 2016
2d42319
net: wireless: bcmdhd: use dhd_custom_exynos.c for NANOPI2
Mar 15, 2019
007fb3c
configs: nanopi2/3: update defconfig for linux
Mar 27, 2019
afd844a
configs: nanopi2/3: Add new files for android 7
Mar 29, 2019
222a29e
media: nexell: clipper: save of_node for endpoint
May 8, 2019
48b38ad
media: nexell: set `pix.sizeimage' for v4l2 app
May 9, 2019
6c06b96
media: nx-vpu: fix `Division by zero' for nxvideoenc
May 10, 2019
d789a92
Merge branch 'nexell/pie-4.4.172' into nanopi2-v4.4.y
May 12, 2019
8d567b2
Revert "cifs: In Kconfig CONFIG_CIFS_POSIX needs depends on legacy (i…
May 12, 2019
a38ef7f
configs: nanopi2/3: refresh by savedefconfig
May 12, 2019
c6caec1
drm: panel-friendlyelec: fixes section mismatch
Mar 27, 2019
5370dd1
BACKPORT: r8152: v1.09.9 of upstream (c286909fe5)
911gt3 May 17, 2019
87ff2cc
net: wireless: bcmdhd: fix bugs with module build
May 17, 2019
564f44a
usb: option: add support for Quectel modems
911gt3 Oct 22, 2018
9a45a64
configs: nanopi3: update BCMDHD for android-7
Jun 4, 2019
e3f414d
net: wireless: bcmdhd: fixes section mismatch
Jun 10, 2019
3f7a328
input: it7260: avoid out-of-bounds access warning
Jun 10, 2019
d6c502a
dtsi: nanopi2/3: disable clipper for android-7
Jun 10, 2019
067d27c
drm/panel: fixes panel status for Android
Jun 29, 2019
1994e2f
dtsi: nanopi2/3: add gt9xx@0x14 node for HD101B
Jul 3, 2019
43db263
dtsi: nanopi2/3: fix Power key to active low
Jul 3, 2019
d3f6f1a
configs: nanopi2/3: builtin more LEDS_TRIGGER
Jul 12, 2019
e8dc757
README.md: remove the file for artik
Aug 27, 2019
bb00176
drm/panel: friendlyelec: Support for lcd - W500
Aug 27, 2019
8e05b8c
defconfig: nanopi2/3: disable MODVERSIONS
Aug 27, 2019
9993986
mmc: dw_mmc: disable overclock for NANOPI2
Sep 2, 2019
3c6f875
input: himax: fixes event report for android-7
Sep 4, 2019
5412838
defconfig: nanopi2/3: enable VIDEO_OV5640
Sep 5, 2019
0deb5a1
media: i2c: Merge tag 'ov5640-fixes-for-s5pxx18'
Sep 10, 2019
fcabfd8
media: nexell: clipper: adjust work delay for android
Sep 10, 2019
f1805f7
dtsi: nanopi2/3: enable clipper for ov5640
Sep 10, 2019
5a3323a
arm64: dts: nanopi3: remove wlan/bt node for M3B
Sep 10, 2019
cb9d497
pwm: Set class for exported channels in sysfs
gohai Sep 26, 2017
2849fd3
Revert "dmaengine: amba-pl08x: fix wrong callback on isr"
Oct 15, 2019
e22200b
serial: pl011: decrease DMA buffer size for nanopi2/3
Oct 16, 2019
a76dc0f
ASoC: nexell: Minor code cleanup for dma complete
Oct 16, 2019
13bb0ec
ASoC: nexell: restrict PERIOD_BYTES_MAX to 15360
Oct 18, 2019
3e3a0ac
dmaengine: pl08x: fixes LLI_CCTL for cyclic transfer
Oct 19, 2019
f24d0b1
input: gt9xx: Support to invert x/y and disable config
Oct 28, 2019
b3e0b2f
drm/panel: friendlyelec: Support for LCD-YZ43
Oct 28, 2019
741e7a9
configs: nanopi2/3: Add new files for friendlywrt
Nov 1, 2019
629cdf4
net: wireless: bcmdhd: Move error log to debug level
Nov 1, 2019
f6e7281
drm/panel: Support to keep the format of DPCCTRL1
Nov 6, 2019
75381ba
input: st1572: drop delayed_work and fixes mt_sync
Nov 7, 2019
ae01ec9
defconfig: nanopi2/3: build BCMDHD as module
Nov 7, 2019
ad968ca
input: 1wire-ts: increase sample rate for s5p4418
Nov 8, 2019
4420d35
input: gt9xx: disable GTP_INVERT_XY for LCD-YZ43
Nov 11, 2019
122cd2a
dtsi: nanopi2/3: update pinctrl for cfg_wlanen
Nov 12, 2019
6aeb5d3
cpufreq: nanopi2: Minor change for DVFS tables
Nov 13, 2019
cda1d03
nanopi2/3: adjust cgroup config for docker
lawrencetg Jan 3, 2020
f8ed127
net: wireless: bcmdhd: fix unable set country code
Dec 1, 2019
9c60ab5
net: qmi_wwan: add sysfs "raw_ip" attribute
Jan 9, 2020
181d9c6
configs: nanopi2/3: disable USB_DYNAMIC_MINORS
Jan 9, 2020
655b06c
ASoC: nexell: enable nx_pcm_dma_clear() for linux
Jan 14, 2020
2c81b2d
ASoC: es8316: fixes HPMixer volume/gain control
Mar 19, 2020
1092421
arm: dts: nanopi2: Support for SOM-4418 (0x11)
May 15, 2020
d5d54f9
drm/panel: friendlyelec: Support for lcd - S430B
May 15, 2020
c687c2d
dtsi: nanopi2/3: set pin state of i2c1 to pull up
Jan 21, 2021
723bfde
rtc: nexell: update default time to 2021.01.01
Mar 23, 2021
87eebf8
dtsi: nanopi2: disable DMA for serial to fix oops
Mar 23, 2021
d4b600b
scripts/dtc: Remove redundant YYLOC global declaration
dirkmueller Jan 14, 2020
eb65719
dtsi: nanopi2/3: increase drive strength of i2c0
May 14, 2021
069c23b
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Nov 9, 2021
9ff7d20
Add files via upload
ThreeFiveDisplays-Nano-PC-T3PLUS Nov 9, 2021
f336ede
Update nanopi3_nougat_defconfig
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 9, 2022
7113c54
Update panel-lt010mb.c
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 10, 2022
b7fb6a0
Update panel-lt010mb.c
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 10, 2022
8ea688b
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 10, 2022
3c1493b
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 11, 2022
1fd5728
Update nanopi3_nougat_defconfig
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 15, 2022
664d076
Update nanopi3_nougat_defconfig
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 16, 2022
895bfd7
Update nanopi3_nougat_defconfig
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 16, 2022
91dc98d
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 16, 2022
866b031
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 16, 2022
cf7686e
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 16, 2022
0ded942
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 16, 2022
0362f42
Update panel-lt010mb.c
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
393b835
Update panel-lt010mb.c
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
2e27a36
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
53e9a6e
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
fbd1f41
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
b7340a7
Update panel-lt010mb.c
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
6ef04a6
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
27b071f
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
7de93b7
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
946af9e
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
992b424
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
cb99899
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
dbb67c8
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
34f5156
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
d8165d8
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
2de6898
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
12eaa75
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
096b4ff
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
a80d5ac
Update s5p6818-nanopi3-common.dtsi
ThreeFiveDisplays-Nano-PC-T3PLUS Feb 17, 2022
6e81386
Revert "Update s5p6818-nanopi3-common.dtsi"
Feb 17, 2022
e747eaf
Revert "Update s5p6818-nanopi3-common.dtsi"
Feb 17, 2022
5f6510e
revert to earlier
Feb 17, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
dm kcopyd: Fix bug causing workqueue stalls
[ Upstream commit d7e6b8d ]

When using kcopyd to run callbacks through dm_kcopyd_do_callback() or
submitting copy jobs with a source size of 0, the jobs are pushed
directly to the complete_jobs list, which could be under processing by
the kcopyd thread. As a result, the kcopyd thread can continue running
completed jobs indefinitely, without releasing the CPU, as long as
someone keeps submitting new completed jobs through the aforementioned
paths. Processing of work items, queued for execution on the same CPU as
the currently running kcopyd thread, is thus stalled for excessive
amounts of time, hurting performance.

Running the following test, from the device mapper test suite [1],

  dmtest run --suite snapshot -n parallel_io_to_many_snaps_N

, with 8 active snapshots, we get, in dmesg, messages like the
following:

[68899.948523] BUG: workqueue lockup - pool cpus=0 node=0 flags=0x0 nice=0 stuck for 95s!
[68899.949282] Showing busy workqueues and worker pools:
[68899.949288] workqueue events: flags=0x0
[68899.949295]   pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=2/256
[68899.949306]     pending: vmstat_shepherd, cache_reap
[68899.949331] workqueue mm_percpu_wq: flags=0x8
[68899.949337]   pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/256
[68899.949345]     pending: vmstat_update
[68899.949387] workqueue dm_bufio_cache: flags=0x8
[68899.949392]   pwq 4: cpus=2 node=0 flags=0x0 nice=0 active=1/256
[68899.949400]     pending: work_fn [dm_bufio]
[68899.949423] workqueue kcopyd: flags=0x8
[68899.949429]   pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/256
[68899.949437]     pending: do_work [dm_mod]
[68899.949452] workqueue kcopyd: flags=0x8
[68899.949458]   pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=2/256
[68899.949466]     in-flight: 13:do_work [dm_mod]
[68899.949474]     pending: do_work [dm_mod]
[68899.949487] workqueue kcopyd: flags=0x8
[68899.949493]   pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/256
[68899.949501]     pending: do_work [dm_mod]
[68899.949515] workqueue kcopyd: flags=0x8
[68899.949521]   pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/256
[68899.949529]     pending: do_work [dm_mod]
[68899.949541] workqueue kcopyd: flags=0x8
[68899.949547]   pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/256
[68899.949555]     pending: do_work [dm_mod]
[68899.949568] pool 0: cpus=0 node=0 flags=0x0 nice=0 hung=95s workers=4 idle: 27130 27223 1084

Fix this by splitting the complete_jobs list into two parts: A user
facing part, named callback_jobs, and one used internally by kcopyd,
retaining the name complete_jobs. dm_kcopyd_do_callback() and
dispatch_job() now push their jobs to the callback_jobs list, which is
spliced to the complete_jobs list once, every time the kcopyd thread
wakes up. This prevents kcopyd from hogging the CPU indefinitely and
causing workqueue stalls.

Re-running the aforementioned test:

  * Workqueue stalls are eliminated
  * The maximum writing time among all targets is reduced from 09m37.10s
    to 06m04.85s and the total run time of the test is reduced from
    10m43.591s to 7m19.199s

[1] https://github.com/jthornber/device-mapper-test-suite

Signed-off-by: Nikos Tsironis <ntsironis@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ntsiron authored and gregkh committed Jan 26, 2019
commit e31cc4b7fe5d28761093f9824551300ecbc9d795
19 changes: 14 additions & 5 deletions drivers/md/dm-kcopyd.c
Original file line number Diff line number Diff line change
@@ -55,15 +55,17 @@ struct dm_kcopyd_client {
struct dm_kcopyd_throttle *throttle;

/*
* We maintain three lists of jobs:
* We maintain four lists of jobs:
*
* i) jobs waiting for pages
* ii) jobs that have pages, and are waiting for the io to be issued.
* iii) jobs that have completed.
* iii) jobs that don't need to do any IO and just run a callback
* iv) jobs that have completed.
*
* All three of these are protected by job_lock.
* All four of these are protected by job_lock.
*/
spinlock_t job_lock;
struct list_head callback_jobs;
struct list_head complete_jobs;
struct list_head io_jobs;
struct list_head pages_jobs;
@@ -583,6 +585,7 @@ static void do_work(struct work_struct *work)
struct dm_kcopyd_client *kc = container_of(work,
struct dm_kcopyd_client, kcopyd_work);
struct blk_plug plug;
unsigned long flags;

/*
* The order that these are called is *very* important.
@@ -591,6 +594,10 @@ static void do_work(struct work_struct *work)
* list. io jobs call wake when they complete and it all
* starts again.
*/
spin_lock_irqsave(&kc->job_lock, flags);
list_splice_tail_init(&kc->callback_jobs, &kc->complete_jobs);
spin_unlock_irqrestore(&kc->job_lock, flags);

blk_start_plug(&plug);
process_jobs(&kc->complete_jobs, kc, run_complete_job);
process_jobs(&kc->pages_jobs, kc, run_pages_job);
@@ -608,7 +615,7 @@ static void dispatch_job(struct kcopyd_job *job)
struct dm_kcopyd_client *kc = job->kc;
atomic_inc(&kc->nr_jobs);
if (unlikely(!job->source.count))
push(&kc->complete_jobs, job);
push(&kc->callback_jobs, job);
else if (job->pages == &zero_page_list)
push(&kc->io_jobs, job);
else
@@ -795,7 +802,7 @@ void dm_kcopyd_do_callback(void *j, int read_err, unsigned long write_err)
job->read_err = read_err;
job->write_err = write_err;

push(&kc->complete_jobs, job);
push(&kc->callback_jobs, job);
wake(kc);
}
EXPORT_SYMBOL(dm_kcopyd_do_callback);
@@ -825,6 +832,7 @@ struct dm_kcopyd_client *dm_kcopyd_client_create(struct dm_kcopyd_throttle *thro
return ERR_PTR(-ENOMEM);

spin_lock_init(&kc->job_lock);
INIT_LIST_HEAD(&kc->callback_jobs);
INIT_LIST_HEAD(&kc->complete_jobs);
INIT_LIST_HEAD(&kc->io_jobs);
INIT_LIST_HEAD(&kc->pages_jobs);
@@ -874,6 +882,7 @@ void dm_kcopyd_client_destroy(struct dm_kcopyd_client *kc)
/* Wait for completion of all jobs submitted by this client. */
wait_event(kc->destroyq, !atomic_read(&kc->nr_jobs));

BUG_ON(!list_empty(&kc->callback_jobs));
BUG_ON(!list_empty(&kc->complete_jobs));
BUG_ON(!list_empty(&kc->io_jobs));
BUG_ON(!list_empty(&kc->pages_jobs));