forked from gregkh/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Linux-6.6.y: Merge into the main branch #8
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
OpenHarmony basic features: * Blackbox * Hievent buffer manager * Simple log manager for OpenHarmonyOS * Hisysevent feature * Base DFX hungtask * (DFX_ZEROHUNG) Catch hung log Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
…system Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
* Resolve compilation errors that occur during migration to the new kernel.
Ths driver supports the fuel gauge hardware available on PMICs such as PMI8994, as well as gen 3 fuel gauge hardware available on PMI8998. Co-developed-by: Caleb Connolly <caleb@connolly.tech> Co-developed-by: Yassine Oudjana <y.oudjana@protonmail.com> Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com> qcom_fg: expose PROP_STATUS to fix upower not detecting charging status properly fg: adopt battery info API changes power: qcom_fg: silence -EPROBE_DEFER error Sometimes, the devm_power_supply_register function will return ERR_PTR(-EPROBE_DEFER) to make the driver subsystem probe the fuel guage later. This is not an error and do not report it as such. Signed-off-by: Richard Acayan <mailingradian@gmail.com> power/supply: qcom_fg: add present sysfs property Present property is required for battery drivers from UPower>=1.90.0 onwards to work properly. Signed-off-by: Alexander Martinz <amartinz@shiftphones.com> Signed-off-by: map220v <map220v300@gmail.com>
power: qcom_fg: Fix memif address for pm8150b power: qcom_fg: Fix wrong psy passed to power_supply_put_battery_info() power: qcom_fg: Add support for temperature data on gen4 fg
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: map220v <map220v300@gmail.com>
Working: * touchscreen via goodix9886 * sound via tfa9874 / headphone via wcd9340 * wifi * ufs * usb * drm * gpu Not working / broken: * bluetooth * The above status is from Linux 6.5, and the current status may change. Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
* To address the issue with the FTS521 driver, * HACK was performed on gpiolib Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
* In the device schematic, vdd_boost_vreg is an important power supply for the Xiaomi 9 FTS521 touch screen, so we set it here. Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
* Warning only appears on higher versions of the kernel, but the patch was still merged from the 6.12 branch. Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
…when 'hilog buffer' is empty Signed-off-by: 柳金 <ljin0613@163.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
…okenid_get_permission Signed-off-by: jidong <jidong4@huawei.com> Change-Id: I176437cad8531928db4ec2c5b096e108304464aa
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
* In the downstream kernel, UART13 does not use interrupts, but instead uses interrupts extended and adds a GPIO. Therefore, we need to apply this improvement to the upstream to represent the actual situation. And we need to consider whether to move it to sm8150.dtsi, as this is a platform wide change. * https://github.com/MiCode/Xiaomi_Kernel_OpenSource/blob/cepheus-q-oss/arch/arm64/boot/dts/qcom/sm8150-qupv3.dtsi#L430-L431 It reflects this very well. Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Required for MAX98927 speaker audio to work on the OnePlus 6.
…ing config * The sdm8150 sndcard driver is highly customized for NABU, but it has not yet been made universal for every SM8150 device, so sdm845 sndcard is used instead. Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Branch: OpenHarmony_feature_202401017 PR: !1614 fix the remove_node_by_token bug Signed-off-by: jidong <jidong4@huawei.com> Signed-off-by: XiaoYeZi <qaz6750@outlook.com> Change-Id: I0d3c3dbfd28dcce853d242f4155e3bf785964b9c
* In order to solve the touch issue on Xiaomi 9, * I introduced ST FTS V521 touchscreen drive from downstream kernel porting. * In order to adapt to the Linux 6.5-rc3 version, had made adaptations to some of the code. Modifications: * Improve the startStopWatch and stopStopWatch methods of the driver. * HACK: Due to the inability of the mainline kernel to integrate touch firmware into the kernel, we have cancelled the handling of firmware upgrade failures. The touch IC comes with a built-in firmware. Co-authored-by: BigfootACA <bigfoot@classfun.cn> Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
…hael Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
…USB configurations Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
* The Hyperhold driver is a key feature of OpenHarmony 5.0, so it is now being merged into Linux 6.6 to address some of the issues. Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
…management for hyperhold ohos inclusion category: feature issue: #I4RXQ3 CVE: NA ----------------- Put file page into pgdat lru list instead of memcg lru list for management in hyperhold. Add some interfaces in memcg for management in hyperhold. Signed-off-by: XiaoYeZi <qaz6750@outlook.com>
qaz6750
pushed a commit
that referenced
this pull request
Jan 17, 2025
…le_direct_reclaim() commit 6aaced5 upstream. The task sometimes continues looping in throttle_direct_reclaim() because allow_direct_reclaim(pgdat) keeps returning false. #0 [ffff80002cb6f8d0] __switch_to at ffff8000080095ac #1 [ffff80002cb6f900] __schedule at ffff800008abbd1c #2 [ffff80002cb6f990] schedule at ffff800008abc50c #3 [ffff80002cb6f9b0] throttle_direct_reclaim at ffff800008273550 #4 [ffff80002cb6fa20] try_to_free_pages at ffff800008277b68 #5 [ffff80002cb6fae0] __alloc_pages_nodemask at ffff8000082c4660 #6 [ffff80002cb6fc50] alloc_pages_vma at ffff8000082e4a98 #7 [ffff80002cb6fca0] do_anonymous_page at ffff80000829f5a8 #8 [ffff80002cb6fce0] __handle_mm_fault at ffff8000082a5974 gregkh#9 [ffff80002cb6fd90] handle_mm_fault at ffff8000082a5bd4 At this point, the pgdat contains the following two zones: NODE: 4 ZONE: 0 ADDR: ffff00817fffe540 NAME: "DMA32" SIZE: 20480 MIN/LOW/HIGH: 11/28/45 VM_STAT: NR_FREE_PAGES: 359 NR_ZONE_INACTIVE_ANON: 18813 NR_ZONE_ACTIVE_ANON: 0 NR_ZONE_INACTIVE_FILE: 50 NR_ZONE_ACTIVE_FILE: 0 NR_ZONE_UNEVICTABLE: 0 NR_ZONE_WRITE_PENDING: 0 NR_MLOCK: 0 NR_BOUNCE: 0 NR_ZSPAGES: 0 NR_FREE_CMA_PAGES: 0 NODE: 4 ZONE: 1 ADDR: ffff00817fffec00 NAME: "Normal" SIZE: 8454144 PRESENT: 98304 MIN/LOW/HIGH: 68/166/264 VM_STAT: NR_FREE_PAGES: 146 NR_ZONE_INACTIVE_ANON: 94668 NR_ZONE_ACTIVE_ANON: 3 NR_ZONE_INACTIVE_FILE: 735 NR_ZONE_ACTIVE_FILE: 78 NR_ZONE_UNEVICTABLE: 0 NR_ZONE_WRITE_PENDING: 0 NR_MLOCK: 0 NR_BOUNCE: 0 NR_ZSPAGES: 0 NR_FREE_CMA_PAGES: 0 In allow_direct_reclaim(), while processing ZONE_DMA32, the sum of inactive/active file-backed pages calculated in zone_reclaimable_pages() based on the result of zone_page_state_snapshot() is zero. Additionally, since this system lacks swap, the calculation of inactive/ active anonymous pages is skipped. crash> p nr_swap_pages nr_swap_pages = $1937 = { counter = 0 } As a result, ZONE_DMA32 is deemed unreclaimable and skipped, moving on to the processing of the next zone, ZONE_NORMAL, despite ZONE_DMA32 having free pages significantly exceeding the high watermark. The problem is that the pgdat->kswapd_failures hasn't been incremented. crash> px ((struct pglist_data *) 0xffff00817fffe540)->kswapd_failures $1935 = 0x0 This is because the node deemed balanced. The node balancing logic in balance_pgdat() evaluates all zones collectively. If one or more zones (e.g., ZONE_DMA32) have enough free pages to meet their watermarks, the entire node is deemed balanced. This causes balance_pgdat() to exit early before incrementing the kswapd_failures, as it considers the overall memory state acceptable, even though some zones (like ZONE_NORMAL) remain under significant pressure. The patch ensures that zone_reclaimable_pages() includes free pages (NR_FREE_PAGES) in its calculation when no other reclaimable pages are available (e.g., file-backed or anonymous pages). This change prevents zones like ZONE_DMA32, which have sufficient free pages, from being mistakenly deemed unreclaimable. By doing so, the patch ensures proper node balancing, avoids masking pressure on other zones like ZONE_NORMAL, and prevents infinite loops in throttle_direct_reclaim() caused by allow_direct_reclaim(pgdat) repeatedly returning false. The kernel hangs due to a task stuck in throttle_direct_reclaim(), caused by a node being incorrectly deemed balanced despite pressure in certain zones, such as ZONE_NORMAL. This issue arises from zone_reclaimable_pages() returning 0 for zones without reclaimable file- backed or anonymous pages, causing zones like ZONE_DMA32 with sufficient free pages to be skipped. The lack of swap or reclaimable pages results in ZONE_DMA32 being ignored during reclaim, masking pressure in other zones. Consequently, pgdat->kswapd_failures remains 0 in balance_pgdat(), preventing fallback mechanisms in allow_direct_reclaim() from being triggered, leading to an infinite loop in throttle_direct_reclaim(). This patch modifies zone_reclaimable_pages() to account for free pages (NR_FREE_PAGES) when no other reclaimable pages exist. This ensures zones with sufficient free pages are not skipped, enabling proper balancing and reclaim behavior. [akpm@linux-foundation.org: coding-style cleanups] Link: https://lkml.kernel.org/r/20241130164346.436469-1-snishika@redhat.com Link: https://lkml.kernel.org/r/20241130161236.433747-2-snishika@redhat.com Fixes: 5a1c84b ("mm: remove reclaim and compaction retry approximations") Signed-off-by: Seiji Nishikawa <snishika@redhat.com> Cc: Mel Gorman <mgorman@techsingularity.net> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.