Initialize the irq count work and also using irqf
no suspend flag during bark irq registration.
Change-Id: Ice72c4e5aff2bcdbba5d53eb1c839a2f86a2fd02
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>
Use the exported function instead of kallsyms_lookup to get
log_buf size, this can save a lot of time during boot up.
Change-Id: I99fe49e9f014c0a4bb16162d836c38e31236e8ea
Signed-off-by: Mayank Grover <groverm@codeaurora.org>
IRQ workqueue handler should be initialized before irq register,
or that when irq was triggered, could lead a crash.
Change-Id: If5551f622ae58a75ae655d4752bb397af0a00f98
Signed-off-by: Zhao, Yuan <yzhao@codeaurora.org>
cnss2: Increase mhi timeout in debug builds to 30sec from 10sec
for firmware download. Once MHI power On is done then the
timeout is reverted to default 10sec.
Change-Id: Ib18cda6da612d37e69cc6f1fee169f01d994daaa
Signed-off-by: Mohammed Siddiq <msiddiq@codeaurora.org>
There is a race during page offline that can lead to infinite loop:
a page never ends up on a buddy list and __offline_pages() keeps
retrying infinitely or until a termination signal is received.
Thread#1 - a new process:
load_elf_binary
begin_new_exec
exec_mmap
mmput
exit_mmap
tlb_finish_mmu
tlb_flush_mmu
release_pages
free_unref_page_list
free_unref_page_prepare
set_pcppage_migratetype(page, migratetype);
// Set page->index migration type below MIGRATE_PCPTYPES
Thread#2 - hot-removes memory
__offline_pages
start_isolate_page_range
set_migratetype_isolate
set_pageblock_migratetype(page, MIGRATE_ISOLATE);
Set migration type to MIGRATE_ISOLATE-> set
drain_all_pages(zone);
// drain per-cpu page lists to buddy allocator.
Thread#1 - continue
free_unref_page_commit
migratetype = get_pcppage_migratetype(page);
// get old migration type
list_add(&page->lru, &pcp->lists[migratetype]);
// add new page to already drained pcp list
Thread#2
Never drains pcp again, and therefore gets stuck in the loop.
The fix is to try to drain per-cpu lists again after
check_pages_isolated_cb() fails.
Change-Id: I7d9b42fdbf436458242385f795126e42294562b1
Fixes: c52e75935f ("mm: remove extra drain pages on pcp list")
Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: David Rientjes <rientjes@google.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Wei Yang <richard.weiyang@gmail.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200903140032.380431-1-pasha.tatashin@soleen.com
Link: https://lkml.kernel.org/r/20200904151448.100489-2-pasha.tatashin@soleen.com
Link: http://lkml.kernel.org/r/20200904070235.GA15277@dhcp22.suse.cz
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-Commit: 9683182612214aa5f5e709fad49444b847cd866a
Git-Repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Add type casting in alloc_trace_locations to avoid build below warning.
mm/slub.c: In function ‘alloc_trace_locations’:
mm/slub.c:6322:27: warning: format ‘%p’ expects argument of type ‘void *’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
error, forbidden warning: slub.c:6322.
Change-Id: I87e337cc73c36274aaaa8dfd384f3f80f0d2d79d
Signed-off-by: Faiyaz Mohammed <faiyazm@codeaurora.org>
Add pid and page allocated time in page owner dump.
Change-Id: I8ea2b18c14ad887f49fc7b05174169cc1fbb902e
Fixes: 65b0515874 ("mm, page_owner: record time and pid")
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Avoid returning from slab_sysfs_init if debugfs is off as it is not fatal.
Change-Id: Ice8c26861ad6d6d143e910bb36aeed61dc23cb2f
Signed-off-by: Faiyaz Mohammed <faiyazm@codeaurora.org>
This patch disables the RIMPS timer based PLL/RAIL trigger
timer in core C4 exit so that it stops the RIMPS from ticking
timer when core C4 exit happen before this timer expires.
Change-Id: I74b3e2222dc3ef5ba0fdebd71b7e86201016fc42
Signed-off-by: Raghavendra Kakarla <rkakarla@codeaurora.org>
Check qcg before dereferencing to avoid NULL pointer
dereference and return if its NULL. This is is to
fix below kw warnings.
ufs-qcom.c:2489: 'qcg' is assigned the return value from
function 'cpu_to_group'.
ufs-qcom.c:2439: 'cpu_to_group' explicitly returns
a NULL value.
ufs-qcom.c:2490: 'qcg' is explicitly dereferenced.
Change-Id: I291c9230bb7fb5df414db8f80bfb17a50c8fc7cf
Signed-off-by: Nitin Rawat <nitirawa@codeaurora.org>
Add support for global clock controller for peripheral
clock clients to be able to request for the clocks.
Change-Id: If68b92b5f599c06412434dacb0e438e5d8aaa5f5
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>