Hoegeun Kwon [Tue, 8 Feb 2022 05:51:53 +0000 (14:51 +0900)]
arm64: tizen_bcm2711_defconfig: Enable vc4_hdmi_cec
CEC driver is required for hdmi operation.
Change-Id: I2b63797641163a4da088b492c05c3d957fbaa208
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Hoegeun Kwon [Tue, 8 Feb 2022 05:51:46 +0000 (14:51 +0900)]
ARM: dts: bcm2711-rpi-4-b: Enable aon_intr driver
The Set Top Box Level 2 Interrupt controller required to use drm.
Change-Id: Ibe417dbb6f1e6372ef73c70dd812d543bf7a9d83
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Seung-Woo Kim [Wed, 5 Jan 2022 07:10:38 +0000 (16:10 +0900)]
misc/trinity: Fix invalid spdx identifiers for uapi haeder
The user api header requires "WITH Linux-syscall-note" for
SPDX-License-Identifier when installing. Without it, the command
"make headers_install" fails. To fix it, add proper spdx license
identifier for uapi header.
Change-Id: I95272a29b6808d32eea0e5e95c399a43705f1c96
Fixes: commit
12fc392663db ("misc/trinity: Add trinity npu driver")
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Dongju Chae [Wed, 5 Jan 2022 05:58:28 +0000 (14:58 +0900)]
misc/trinity: Fix invalid spdk identifiers
This patch fixes invalid spdk identifiers.
'//' does not work in non-source files.
Change-Id: I1e1a404eb1769440c2fbfb29a461a27c088b19ef
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Dongju Chae [Wed, 29 Dec 2021 04:58:43 +0000 (13:58 +0900)]
misc/trinity: Add trinity npu driver
This patch uploads trinity npu driver source codes
(for now, triv2 only) including the srnpu iommu codes.
Note that the driver may not available in the rpi4 board,
but let's just sync codes as the reference tizen kernel.
Change-Id: I61353768adb948e6189aeb2c7c79082c3ddbc2ba
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Dongwoo Lee [Fri, 26 Oct 2018 01:41:41 +0000 (10:41 +0900)]
usb: gadget: f_fs: Prevent panic due to failure of huge size buffer allocation
The f_fs daemons usually use large size buffer for increasing transfer
performance, but it can cause memory allocation failure in case of
that buddy space is fragmented. Since this, instead of just returning
error in this case, give the chance to retry to allocate memory with
a half length in order to prevent daemon crash due to failure of
buffer allocation.
Change-Id: I4df1987a6f07e558772dcc5f6f020cc550fb1b13
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Dongwoo Lee [Wed, 1 Dec 2021 05:28:26 +0000 (14:28 +0900)]
scripts: mkbootimg_rpi4.sh: Stop build on any kind of errors
Currently, even if an error occurs during image creation, the script
does not abort, which may result in incorrect image creation. In order
to avoid confusion due to this, if any kind of error occurs during the
build process, the build will be stopped.
Change-Id: I8094f4b97128a8c754e5a9ff22f1b3395a3756b1
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Marek Szyprowski [Mon, 22 Nov 2021 11:24:04 +0000 (12:24 +0100)]
tizen: rpi4: disable obsolete options in config.txt
Overlays are not supported on Tizen and 'vc4-fkms-v3d' overlay has been
obsoleted long time ago when VC4 DRM gained full support of the RPi4
hardware, so remove it from the default config.txt. Same for
'dtparam=audio=on'.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Iaa4ad049951e1538d818caa144928a08560911bd
Marek Szyprowski [Wed, 10 Nov 2021 07:39:34 +0000 (08:39 +0100)]
mm: thp: add missing pte_unmap() calls
pte_offset_map() requires to call pte_unmap() after using the returned
pte pointer. Add missing calls.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I1d883c10f627334feec4be4e6d6efce0a3fde38f
Marek Szyprowski [Tue, 9 Nov 2021 14:34:52 +0000 (15:34 +0100)]
mm: thp: fix split_huge_pte() operation on non-THP aligned address
When split_huge_pte() has been called on the address, which is not THP
aligned, the pte ptr should also be adjusted to the beginning of the THP
page.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Idf1ddf95b3f5a5a790fd2b0eb85ac4c22e561a48
Sung-hun Kim [Thu, 7 Oct 2021 07:57:39 +0000 (16:57 +0900)]
mm, thp: preventing hugepage creation for read-write file pages
Sometimes, an user process incurs writes on file pages
which has VM_DENYWRITE flag in its vma->vm_flags (of
course, the vma has VM_WRITE flags too). In this case,
the kernel creates a new page by a COW fault, but it is
an unexpected behaviour for 64KB file hugepages.
This patch disallows scanning of read-write file pages
to prevent unexpected buggy behaviours.
Change-Id: I28c1da7f7ad4be55be5607316b29a2978896fcb9
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Wed, 6 Oct 2021 04:33:00 +0000 (13:33 +0900)]
thp, khugepaged: skip retracting page table if a 64KB hugepage mapping is already established
When khugepaged tries to retract page table entries,
an user can try to handle a page fault. To prevent
concurrent modifications for an address space, an
mmap_lock is used.
If khugepaged failed to get lock, it delays page
table retraction to the next interation. Previously,
however, khugepaged assumes that page table entries
have normal mapping, especially for 64KB hugepages.
This patch checks that a mapping is already
established for 64KB hugepage appropriately. If it is
khugepaged just skips a retraction.
Change-Id: I961e21e65e2ae09df43488582d1469e250059909
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Fri, 1 Oct 2021 05:15:51 +0000 (14:15 +0900)]
mm: thp: khugepaged: flush tlb range to prevent concurrent memory accesses
When khugepaged creates a hugepage while a user accesses memory,
khugepaged should prohibit current accesses to scanning area
because it can make a race condition.
Before creating a hugepage, khugepaged holds a lock of mm_struct
then flushes tlbs of scanning range. For 64KB hugepage, however,
it does not flush tlbs before it installs a new hugepage into the
page table. In this case, the user can lose their progress because
the user process still have memory map in its TLB entries.
By flushing TLBs right after acquiring mmap_lock, the process can
stall before reusing their memory contents.
Change-Id: I408662d69fa68e6210be8ad0b585943bfb8894e8
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Fri, 1 Oct 2021 04:06:07 +0000 (13:06 +0900)]
mm, thp: do not set PTE_SPECIAL for huge zero page
In previous version of the kernel, a huge zero page is remapped
to normal pte mappings with PTE_SPECIAL flag when the split of
hugepage is requested. It makes a buggy situation when the
kernel tries to find a page with vm_normal_page.
This patch resolves this problem by adding a condition to if-
statement.
Change-Id: I62946d3c3e92be309ccbe987f24a33503a7e23dc
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Fri, 1 Oct 2021 04:01:01 +0000 (13:01 +0900)]
mm: thp: add acquisition/release of a lock to guarantee consistent locking state
arm64_wp_huge_pte should acquire a lock before return
to keep the lock semantics of the caller.
To guarantee this, add a new lock acquisition and a
new lock release statements in proper positions.
Change-Id: I81fb8afc37f54bce83f353ca6b6894e70ef86934
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Thu, 30 Sep 2021 03:28:56 +0000 (12:28 +0900)]
mm, thp: modify coverage of CONFIG_FINEGRAINED_THP macro
Some codes should be applied only in fTHP-enabled
kernel. This patch rearranges the coverage of
CONFIG_FINEGRAINED_THP macro.
Change-Id: I0541c36369f8bd7a8fe4b8868c51dc0e6879f100
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Thu, 30 Sep 2021 00:37:45 +0000 (09:37 +0900)]
meminfo, thp: modify ifdef coverage to remove unexpected variable printing
If the system uses fTHP, the user can show statistics of
hugepage-mapped CMA pages via /proc/meminfo.
Otherwise, the user does not need to aware of such variables.
This patch removes such exported variables when fTHP-disabled
kernel is used.
Change-Id: Iaff9dd8d81da1a3caa60959b9c5c1f44544f30d4
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Marek Szyprowski [Wed, 22 Sep 2021 13:29:33 +0000 (15:29 +0200)]
mm: thp: count 64k shmem pages separately
64k THP for shmem needs separate counters, otherwise ShmemHugePages entry
in /proc/meminfo incorrectly shows both 2M and 64k THPs as 2M ones.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I460ea9f4e9c2f84bb066f68bfb6a291183416bb1
Sung-hun Kim [Thu, 16 Sep 2021 04:44:25 +0000 (13:44 +0900)]
mm, thp, migrate: handling migration of 64KB hugepages
When a 64KB hugepage is migrated, it should be properly
handled since it is different from other normal page
mappings. The kernel should handle a set of sequential
16 page mappings at once. If not, the kernel can mishandle
map counts of a compound page (that is, a set of pages).
It can be a source of kernel bugs and the bug is easily
reproduced on low-memory devices.
This patch deals with the migration of 64KB hugepages.
Fixes:
90eb23660fef ('mm: THP: introducing a fine-grained transparent hugepage technique for ARM64 architecture')
Change-Id: I50a5d4e9a263e7dcbded15c982f57c15a3a48f39
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Wed, 15 Sep 2021 07:39:13 +0000 (16:39 +0900)]
mm, thp: hide remap_try_huge_pmd for the THP-disabled kernel
Since remap_try_huge_pmd is dependent on the kernel
configuration CONFIG_TRANSPARENT_HUGEPAGE, it should be
hidden when the kernel configuration is disabled.
Fixes:
90eb23660fef ('mm: THP: introducing a fine-grained transparent hugepage technique for ARM64 architecture')
Change-Id: Iae9efb2edf6cd563c794af68bea7987110a5b2da
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Seung-Woo Kim [Wed, 15 Sep 2021 06:07:00 +0000 (15:07 +0900)]
Partially Revert "brcmfmac: p2p: Deal with set but unused variables"
This partially reverts commit
2de64ca7c9fadd32b261530592db4a6adbfcb53f.
The commit
61325dc073e2 ("Revert "brcmfmac: move configuration of
probe request IEs"") requires vif set with p2p interface, but commit
2de64ca7c9fa removes setting. Partially revert the commit to support
p2p usage with p2p interface.
Change-Id: Ia90e256c3d10396b1018e3aec8145139accfb39e
Reported-by: Jiung Yu <jiung.yu@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Sung-hun Kim [Mon, 30 Aug 2021 06:16:52 +0000 (15:16 +0900)]
arm64: defconfig: enable finegrained-THP configuration
Enable finegrained-THP to allow creation of 64KB hugepages.
Change-Id: If23d2489571ac0a5c367db54126b7b6abf42eebc
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Mon, 30 Aug 2021 06:15:54 +0000 (15:15 +0900)]
arm64: defconfig: enable default THP configurations
Enable default THP in Linux.
With this configuration, the Linux kernel can make 2MB hugepages
without user intervention.
Change-Id: Ifdfc472a78edf76be32c359b2b15c0ca28a2bc8b
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Fri, 2 Jul 2021 09:43:36 +0000 (18:43 +0900)]
mm: THP: introducing a fine-grained transparent hugepage technique for ARM64 architecture
Transparent hugepage (THP) is one of promise solutions to deal with
increased memory footprints, but it mostly focused on server-side
environments.
This patch claims that embedded systems also get benefits by using
THP to deal with increased but still small-sized memory footprints
in applications on the embedded system.
An ARM64 architecture featured a fine-grained hugepage which support
64KB sized hugepages while the size of commonly used hugepage is 2MB.
We used these two kinds of hugepages corresponding to required size
of virtual memory.
In this patch, we developed an eager-and-conservative policy. With
this policy, the kernel do not allow to allocate 2MB hugepages on
page faults to decrease enlarged page fault latencies. Instead, the
kernel allocates 64KB hugepages to deal with hugepage allocation.
Since 64KB hugepages require the smaller order pages than 2MB
hugepages, it does not severely affect to user-noticed memory latency
due to the memory management tasks such as memory compaction.
On the other hand, khugepaged makes both 64KB hugepages and 2MB
hugepages for both anonymous pages and file pages corresponding to
virtual memory sizes.
Moreover, our proposed finegrained THP (fTHP) supports hugepage
mappings on pages in CMA. Since pages in CMA already contiguous, fTHP
just allows hugepage mappings for 64KB or 2MB aligned memory areas.
The proposed method achieves upto 32% of throughput improvement
against Linux kernel with default THP that the system runs a read
workload in lmbench [1] when the buffer is fitted in the CPU
last-level-cache. For the large-sized buffer (bigger than 2MB),
the proposed method shows similar throughput to default THP in Linux
kernel.
[1] LMbench - Tools for peformance analysis:
http://lmbench.sourceforge.net
Change-Id: I750528db8f04b37fda39052bea775d18ca5d53fb
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Minchan Kim [Wed, 21 Apr 2021 04:44:12 +0000 (14:44 +1000)]
mm: use proper type for cma_[alloc|release]
size_t in cma_alloc is confusing since it makes people think it's byte
count, not pages. Change it to unsigned long[1].
The unsigned int in cma_release is also not right so change it. Since we
have unsigned long in cma_release, free_contig_range should also respect
it.
[1]
67a2e213e7e9, mm: cma: fix incorrect type conversion for size during dma allocation
Link: https://lore.kernel.org/linux-mm/20210324043434.GP1719932@casper.infradead.org/
Link: https://lkml.kernel.org/r/20210331164018.710560-1-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: David Hildenbrand <david@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=
78fa51503fdbe463c96eef4c3cf69ca54032647a
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Change-Id: Ie6de7e88bdae134120d2d88178e5a71cd00bd460
Minchan Kim [Wed, 21 Apr 2021 04:44:12 +0000 (14:44 +1000)]
mm: cma: support sysfs
Since CMA is getting used more widely, it's more important to keep
monitoring CMA statistics for system health since it's directly related to
user experience.
This patch introduces sysfs statistics for CMA, in order to provide some
basic monitoring of the CMA allocator.
* the number of CMA page successful allocations
* the number of CMA page allocation failures
These two values allow the user to calcuate the allocation
failure rate for each CMA area.
e.g.)
/sys/kernel/mm/cma/WIFI/alloc_pages_[success|fail]
/sys/kernel/mm/cma/SENSOR/alloc_pages_[success|fail]
/sys/kernel/mm/cma/BLUETOOTH/alloc_pages_[success|fail]
The cma_stat was intentionally allocated by dynamic allocation
to harmonize with kobject lifetime management.
https://lore.kernel.org/linux-mm/YCOAmXqt6dZkCQYs@kroah.com/
Link: https://lkml.kernel.org/r/20210324230759.2213957-1-minchan@kernel.org
Link: https://lore.kernel.org/linux-mm/20210316100433.17665-1-colin.king@canonical.com/
Signed-off-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Tested-by: Dmitry Osipenko <digetx@gmail.com>
Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
Tested-by: Anders Roxell <anders.roxell@linaro.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: John Dias <joaodias@google.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=
43ca106fa8ec7d684776fbe561214d3b2b7cb9cb
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Change-Id: I80c0f2c8d60d250418002260b0a20e5a796a9823
Minchan Kim [Wed, 5 May 2021 01:37:31 +0000 (18:37 -0700)]
mm: cma: add the CMA instance name to cma trace events
There were missing places to add cma instance name. To identify each CMA
instance, let's add the name for every cma trace. This patch also changes
the existing cma_trace_alloc to cma_trace_finish since we have
cma_alloc_start[1].
[1] https://lore.kernel.org/linux-mm/
20210324160740.15901-1-georgi.djakov@linaro.org
Link: https://lkml.kernel.org/r/20210330220237.748899-1-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan@kernel.org>
Cc: Liam Mark <lmark@codeaurora.org>
Cc: Georgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=
3aab8ae7aace3388da319a233edf48f0f5d26a44
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Change-Id: I94fb2a7925f56e467c954f4d07d492cbd1b1c4e4
Liam Mark [Wed, 5 May 2021 01:37:25 +0000 (18:37 -0700)]
mm: cma: add trace events for CMA alloc perf testing
Add cma and migrate trace events to enable CMA allocation performance to
be measured via ftrace.
[georgi.djakov@linaro.org: add the CMA instance name to the cma_alloc_start trace event]
Link: https://lkml.kernel.org/r/20210326155414.25006-1-georgi.djakov@linaro.org
Link: https://lkml.kernel.org/r/20210324160740.15901-1-georgi.djakov@linaro.org
Signed-off-by: Liam Mark <lmark@codeaurora.org>
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Acked-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=
7bc1aec5e28765ad18742824b3b972471807a632
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Change-Id: I61b2cdb2a7416c69fc577080c08be50255921305
Baolin Wang [Wed, 21 Apr 2021 04:44:11 +0000 (14:44 +1000)]
mm: cma: use pr_err_ratelimited for CMA warning
If we did not reserve extra CMA memory, the log buffer can be easily
filled up by CMA failure warning when the devices calling
dmam_alloc_coherent() to alloc DMA memory. Thus we can use
pr_err_ratelimited() instead to reduce the duplicate CMA warning.
Link: https://lkml.kernel.org/r/ce2251ef49e1727a9a40531d1996660b05462bd2.1615279825.git.baolin.wang@linux.alibaba.com
Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=
63f83b31f4f36d933e13bd8b9a25d6d9a0cf89dd
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Change-Id: I24e03acb8288fc60e22dddfd409d56b50f3ac12f
Minchan Kim [Wed, 21 Apr 2021 04:44:11 +0000 (14:44 +1000)]
mm: vmstat: add cma statistics
Since CMA is used more widely, it's worth to have CMA allocation
statistics into vmstat. With it, we could know how agressively system
uses cma allocation and how often it fails.
Link: https://lkml.kernel.org/r/20210302183346.3707237-1-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
Cc: John Dias <joaodias@google.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=
bbb269206f3c914d4f23e023de4ec020abea6d1b
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Change-Id: Iadf5fef76fe6dfa41177cfccf022ea39ae1cb19e
Patrick Daly [Fri, 26 Feb 2021 01:16:44 +0000 (17:16 -0800)]
mm: cma: print region name on failure
Print the name of the CMA region for convenience. This is useful
information to have when cma_alloc() fails.
[pdaly@codeaurora.org: print the "count" variable]
Link: https://lkml.kernel.org/r/20210209142414.12768-1-georgi.djakov@linaro.org
Link: https://lkml.kernel.org/r/20210208115200.20286-1-georgi.djakov@linaro.org
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Acked-by: Minchan Kim <minchan@kernel.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=
a052d4d13d88c2073d1339d9dce02cba7b4dc609
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Change-Id: Id498bfa25916823d7e3d804db01691916fc8fac4
Charan Teja Reddy [Tue, 15 Dec 2020 03:13:26 +0000 (19:13 -0800)]
mm: cma: improve pr_debug log in cma_release()
It is required to print 'count' of pages, along with the pages, passed to
cma_release to debug the cases of mismatched count value passed between
cma_alloc() and cma_release() from a code path.
As an example, consider the below scenario:
1) CMA pool size is 4MB and
2) User doing the erroneous step of allocating 2 pages but freeing 1
page in a loop from this CMA pool. The step 2 causes cma_alloc() to
return NULL at one point of time because of -ENOMEM condition.
And the current pr_debug logs is not giving the info about these types of
allocation patterns because of count value not being printed in
cma_release().
We are printing the count value in the trace logs, just extend the same to
pr_debug logs too.
[akpm@linux-foundation.org: fix printk warning]
Link: https://lkml.kernel.org/r/1606318341-29521-1-git-send-email-charante@codeaurora.org
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Reviewed-by: Souptick Joarder <jrdr.linux@gmail.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Vinayak Menon <vinmenon@codeaurora.org>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=
b8ca396f984295ba09f25f6982f9abd0bb7f5a29
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Change-Id: Ic44cb49df247f690145a2d9dc8279aa94de4205f
Kiwoong Ha [Mon, 8 Mar 2021 21:41:17 +0000 (06:41 +0900)]
tizen_bcm2711_defconfig: Enable configs for docker
Enable below configs for docker-engine
CONFIG_IP_VS=y
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_VETH=y
Change-Id: I49c809b50d40eb653cb3cb6da12c5655788cd0f9
Signed-off-by: Kiwoong Ha <kw1981.ha@samsung.com>
Miklos Szeredi [Mon, 14 Dec 2020 14:26:14 +0000 (15:26 +0100)]
ovl: do not fail because of O_NOATIME
In case the file cannot be opened with O_NOATIME because of lack of
capabilities, then clear O_NOATIME instead of failing.
Remove WARN_ON(), since it would now trigger if O_NOATIME was cleared.
Noticed by Amir Goldstein.
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
[sw0312.kim: backport v5.11 mainline commit
b6650dab404c to resolve overlayfs file open EPERM fail issue in v5.10]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I9c0c74747bb4a208fc68ca561f740281b2b553fe
Mateusz Moscicki [Thu, 8 Jul 2021 13:40:21 +0000 (15:40 +0200)]
tizen_bcm2711_defconfig: Enable dm-bow
This enables device mapper driver to allow checkpoint & restore on ext4
partitions.
Change-Id: Ic88811b4e9b66bc42e12e220e420c75464cf6ea8
Signed-off-by: Mateusz Moscicki <m.moscicki2@samsung.com>
[sw0312.kim: sync with savedefconfig]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Mateusz Moscicki [Thu, 8 Jul 2021 13:36:25 +0000 (15:36 +0200)]
device-mapper: Add dm-bow
dm-bow is a device mapper driver that allows to create a checkpoint on
the volume so that it is possible to restore the state if necessary.
This is needed to protect the ext4 partition during a system upgrade in
case of a power failure.
Change-Id: Ifb0b9e3cadd84b0e01bc5c7e80dd296be48516c2
Originally-by: Paul Lawrence <paullawrence@google.com>
Origin: https://android.googlesource.com/kernel/common/+/refs/heads/android-mainline/drivers/md/dm-bow.c
Signed-off-by: Mateusz Moscicki <m.moscicki2@samsung.com>
Dongwoo Lee [Wed, 7 Jul 2021 03:33:21 +0000 (12:33 +0900)]
ARM64: tizen_bcm2711_defconfig: Sync with savedefconfig
This fixes to synchronize current defconfig with savedefconfig
Change-Id: I195f05429a15e424834a590df72b73547126d529
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Dongwoo Lee [Wed, 7 Jul 2021 03:31:01 +0000 (12:31 +0900)]
ARM: tizen_bcm2711_defconfig: Sync with savedefconfig
This fixes to synchronize current defconfig with savedefconfig
Change-Id: Ia99f98f2d675ae424e796ddbbd087175d9ad3cae
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
INSUN PYO [Wed, 30 Jun 2021 02:35:05 +0000 (11:35 +0900)]
ARM/ARM64: tizen_bcm2711_defconfig: disable ANDROID_LOGGER config
Disable android logger.
The android logger has been moved to the kernel module of the linux-tizen-modules package.
Change-Id: I64c5207ce00a818795e307b79d4bf540a88fe120
Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
Sung-hun Kim [Tue, 27 Oct 2020 11:48:36 +0000 (20:48 +0900)]
mm: LKSM: bug fix for kernel memory leak
For efficiency, LKSM cleans exited processes in a batched manner when it
finishes a scanning iteration. When it finds exited process while it is in
the scanning iteration, it just pends the mm_slot of the exited process to
the internal list.
On the other hend, when KSM daemon cleans mm_slots of exited processes, it
should care regions of exited processes to remove unreferenced lksm_region
objects.
Previously, most regions are maintained properly but only regions in "head"
of the exited process list does not be cleaned due to the buggy implementation.
At last, uncleaned objects are remained as unreferenced garbages.
Follow message is detected by kmemleak (reported by sw0312.kim@samsung.com):
=========================================================================
unreferenced object 0xffffff80c7083600 (size 128):
comm "ksm_crawld", pid 41, jiffies
4294918362 (age 95.632s)
hex dump (first 32 bytes):
00 37 08 c7 80 ff ff ff 60 82 19 bd 80 ff ff ff .7......`.......
00 35 08 c7 80 ff ff ff 00 00 00 00 00 00 00 00 .5..............
backtrace:
[<
0000000048313958>] kmem_cache_alloc_trace+0x1e0/0x348
[<
00000000fd246822>] lksm_region_ref_append+0x48/0xf8
[<
00000000c5a818a0>] ksm_join+0x3a0/0x498
[<
00000000b2c3f36a>] lksm_prepare_full_scan+0xe8/0x390
[<
00000000013943b5>] lksm_crawl_thread+0x214/0xbf8
[<
00000000b4ce0593>] kthread+0x1b0/0x1b8
[<
000000002a3f7216>] ret_from_fork+0x10/0x18
unreferenced object 0xffffff80c7083700 (size 128):
comm "ksm_crawld", pid 41, jiffies
4294918362 (age 95.632s)
hex dump (first 32 bytes):
00 39 08 c7 80 ff ff ff 00 36 08 c7 80 ff ff ff .9.......6......
00 35 08 c7 80 ff ff ff 00 00 00 00 00 00 00 00 .5..............
backtrace:
[<
0000000048313958>] kmem_cache_alloc_trace+0x1e0/0x348
[<
00000000fd246822>] lksm_region_ref_append+0x48/0xf8
[<
00000000c5a818a0>] ksm_join+0x3a0/0x498
[<
00000000b2c3f36a>] lksm_prepare_full_scan+0xe8/0x390
[<
00000000013943b5>] lksm_crawl_thread+0x214/0xbf8
[<
00000000b4ce0593>] kthread+0x1b0/0x1b8
[<
000000002a3f7216>] ret_from_fork+0x10/0x18
...
=========================================================================
This patch takes care of such possible kernel memory leak problem.
Change-Id: I3e4b299e02018ece1c19ba53e4f10a68520a807b
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Dongwoo Lee [Wed, 2 Jun 2021 02:48:28 +0000 (11:48 +0900)]
ARM64: tizen_bcm2711_defconfig: Enable WireGuard
This enables WireGuard VPN feature.
Change-Id: I2e63427ed5f667858bd3abddb73e5018dc16ac7e
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Dongwoo Lee [Wed, 2 Jun 2021 02:36:45 +0000 (11:36 +0900)]
ARM: tizen_bcm2711_defconfig: Enable WireGuard
This enables WireGuard VPN feature.
Change-Id: Ia88f99d110c65120f1e55a1bca2e59b9fe35324f
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Seung-Woo Kim [Fri, 14 May 2021 01:56:44 +0000 (10:56 +0900)]
Revert "sched: Remove sched_setscheduler*() EXPORTs"
This reverts commit
616d91b68cd56bcb1954b6a5af7d542401fde772.
Some out-of-tree module still uses sched_setscheduler(), so for
build, revert removing export symbol for it.
Change-Id: Ic2dbfc04e03e91c5d8daf52039f06149ae0d5fb1
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Jaehoon Chung [Fri, 16 Apr 2021 02:18:41 +0000 (11:18 +0900)]
misc: tizen-inform-reboot: fix a potential NULL pointer dereference
Fix a potential NULL pointer dereference.
If there is no file or directory, it has to check whether it's error or
not.
Change-Id: Ia6e7280c1901ae772a5f890c312b7a741fbac0a1
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Dongwoo Lee [Wed, 14 Apr 2021 02:52:25 +0000 (11:52 +0900)]
f2fs: Change default mount options
As adjusting mount options for increasing performance and reducing data
move due to bggc, this changes default mount options about fsync mode
and bggc algorithm as below:
fsync_mode: from 'posix' to 'nobarrier'
bggc_algorithm: from 'default' to 'atgc'
Change-Id: I124ced2ef824832df280de74120612dc72167b36
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Dongwoo Lee [Mon, 12 Apr 2021 03:56:59 +0000 (12:56 +0900)]
ARM: tizen_bcm2711_defconfig: Enable security labels for f2fs
To support smack on f2fs, this enables security label for f2fs
filesystem.
Change-Id: I834d81cec7d861ab2fbfcaf58ad51688216f4b2d
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Dongwoo Lee [Mon, 12 Apr 2021 03:47:07 +0000 (12:47 +0900)]
ARM64: tizen_bcm2711_defconfig: Enable security labels for f2fs
To support smack on f2fs, this enables security label for f2fs
filesystem.
Change-Id: Idb151191387c762fb238d5ad0f78d2710cbc7674
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Hoegeun Kwon [Thu, 1 Apr 2021 05:25:00 +0000 (14:25 +0900)]
ARM: tizen_bcm2711_defconfig: Enable ARM_MODULE_PLTS config
Fixes the problem of not loading kernel modules
Change-Id: I3eeed53c510610b69e2ab8b6ddc09a5680fb54c9
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Hoegeun Kwon [Tue, 30 Mar 2021 02:04:39 +0000 (11:04 +0900)]
packaging: Change the kernel version of the spec file
Change the kernel version to 5.10.25
Change-Id: Ibe698990fefa9e336212788089d7e2503726da88
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Chanwoo Choi [Wed, 24 Mar 2021 03:45:52 +0000 (12:45 +0900)]
ARM64: tizen_bcm2711_defconfig: Enable USB_PRINTER config
Enable USB_PRINTER config to suppot USB printer device.
Change-Id: I2068a283928c8f3c85d5f31b25a13300cdc52783
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Chanwoo Choi [Wed, 24 Mar 2021 03:44:24 +0000 (12:44 +0900)]
ARM: tizen_bcm2711_defconfig: Enable USB_PRINTER config
Enable USB_PRINTER config to suppot USB printer device.
Change-Id: Ic63797d93520e4bc50175c53c7e7328b55a0f724
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Jaehoon Chung [Mon, 22 Mar 2021 08:06:33 +0000 (17:06 +0900)]
ARM64: tizen_bcm2711_defconfig: Enable CONFIG_CFG80211_CRDA_SUPPORT
Enable CONFIG_CFG80211_CRDA_SUPPORT.
Change-Id: If60cab97a05ca8bc01633255ede56279fcc599a8
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 22 Mar 2021 07:56:08 +0000 (16:56 +0900)]
Revert "ARM: configs: tizen_bcm2711_defconfig: Disable CONFIG_CFG80211_CRDA_SUPPORT"
This reverts commit
6485924bd76b70c8ed6ba334ef9b5045f4a3686d.
- Enable CONFIG_CFG80211_CRDA_SUPPORT to use country code.
Change-Id: I951b32c86611b6240991e9bb8b362c98bb56b72c
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Seung-Woo Kim [Thu, 25 Feb 2021 08:17:12 +0000 (17:17 +0900)]
media: uvcvideo: Add a probe quirk to Jieli Technology USB PHY 2.0 (1224:2a25)
Repeated video request on Jieli Technology USB PHY 2.0 (1224:2a25)
device causes data stall with below error until reconnection:
uvcvideo: Failed to set UVC probe control : -32 (exp. 26).
To resolve the wrong state, add PROBE quirk bits.
Change-Id: I5efba6ac26d5eea70e2227f9ff9801dd5d8d4790
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Jaehoon Chung [Wed, 17 Feb 2021 01:02:48 +0000 (10:02 +0900)]
ARM/ARM64: defconfig: disable SECURITY_SMACK_NETFILTER config
Disable SECURITY_SMACK_NETFILTER configuration.
Change-Id: Id95847392ac2bf53b92dae5ee2c0d4b5c1e41ece
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Seung-Woo Kim [Mon, 25 Jan 2021 07:24:54 +0000 (16:24 +0900)]
ARM: tizen_bcm2711_defconfig: Enable OVERLAY_FS
Enable CONFIG_OVERLAY_FS for tizen application space.
Change-Id: I46b011effa26e1f7ef9acf5f18d52bc7b54452c5
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Mon, 25 Jan 2021 07:24:03 +0000 (16:24 +0900)]
ARM64: tizen_bcm2711_defconfig: Enable OVERLAY_FS
Enable CONFIG_OVERLAY_FS for tizen application space.
Change-Id: I1b2aafaeea24b6ef6b07d3c57d542dce13c53b8f
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Dongwoo Lee [Fri, 22 Jan 2021 03:40:18 +0000 (12:40 +0900)]
usb: gadget: f_fs: Fix use-after-free for unbind with remaining io
If usb has stall, then there can be remaining submitted io and
unbinding f_fs with the remaining io, there is use-after-free.
Fix the use-after-free by checking endpoint after wait.
This fixes following kasan warning:
BUG: KASAN: use-after-free in ffs_epfile_io+0x654/0xb58
Read of size 4 at addr
ffffffc0a44e65dc by task mtp-responder/5117
...
[<
ffffff900a037794>] ffs_epfile_io+0x654/0xb58
[<
ffffff900a03818c>] ffs_epfile_read_iter+0x1ac/0x3e0
...
Allocated by task 3869:
...
__kmalloc+0x234/0x760
_ffs_func_bind+0x264/0x7c8
ffs_func_bind+0xe8/0x650
usb_add_function+0x13c/0x378
...
Freed by task 3869:
...
kfree+0xa4/0x750
ffs_func_unbind+0x150/0x248
purge_configs_funcs+0x1a0/0x310
...
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
[dwoo08.lee: cherry-picked from linux-amlogic commit
5dd3ffecd46f to prevent use-after-free when f_fs is unbound before all requests are over]
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
Change-Id: Idf2391c53ca0f90fc9484d725304b88fc57fa8a6
Łukasz Stelmach [Tue, 2 Feb 2021 18:52:58 +0000 (19:52 +0100)]
pid: mark struct pid* argument as const
Change-Id: I17a358ccbae656561e9e1df4ff3fe0055e4eaf20
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Hoegeun Kwon [Thu, 21 Jan 2021 10:10:27 +0000 (19:10 +0900)]
ARM: tizen_bcm2711_defconfig: Sync with .config with v5.10.y
Sync with .config with v5.10.y
Change-Id: I4259a2c39383c96db46a6e0e3b743227678a6d8f
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Hoegeun Kwon [Thu, 21 Jan 2021 07:33:01 +0000 (16:33 +0900)]
arm64: tizen_bcm2711_defconfig: Sync with .config with v5.10.y
Sync with .config with v5.10.y
Change-Id: I1291e11f4fb9dd1d855d70f18d5046a0a6492b52
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Hoegeun Kwon [Wed, 20 Jan 2021 12:02:08 +0000 (21:02 +0900)]
ARM: dts: bcm2711-rpi-4-b: Support for drm vc4 and v3d
Support for drm vc4 and v3d driver, apply vc4-kms-v3d-pi4-overlay dt
overlay.
Change-Id: I071af70b97abd9e8bb17d0ec6764a005a16284e2
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Hoegeun Kwon [Wed, 20 Jan 2021 04:52:50 +0000 (13:52 +0900)]
Revert "block: make function 'kill_bdev' static"
This reverts commit
3373a3461aa15b7f9a871fa4cb2c9ef21ac20b47.
To free ramdisk memory, BLKFLSBUF support is required.
Change-Id: I921098c20cc6cad96d2c418a8bd525428e504c70
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Hoegeun Kwon [Wed, 20 Jan 2021 06:15:09 +0000 (15:15 +0900)]
mm: LKSM: Fix to use mmap_lock instead of mmap_sem.
Fix changed interface and incorrectly used structure member names.
Change-Id: I40c50fd7f20799e30dddb752aba464ac9aace28c
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Hoegeun Kwon [Wed, 20 Jan 2021 07:33:20 +0000 (16:33 +0900)]
ASoC: ac108: Fix changed interface
Fix changed interface and incorrectly used structure member names.
Change-Id: Ie6fd41392069fc264499b449fe1fbe45f3458a83
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Hoegeun Kwon [Tue, 19 Jan 2021 07:28:41 +0000 (16:28 +0900)]
misc: tizen-inform-reboot: Fix to use filp_open.
Modify to use filp_open instead of ksys_open.
Change-Id: I49c8e883d8fd0d76b9ca6c7449303f2859f756b5
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Łukasz Stelmach [Mon, 4 Jan 2021 19:23:41 +0000 (20:23 +0100)]
spec: set CONFIG_LOCALVERSION
Set CONFIG_LOCALVERSION insetad of EXTRAVERSION in Makefile to carry
information about the platform variant.
Change-Id: If1650692162832ea86988e4adb610ce0148edde3
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Łukasz Stelmach [Mon, 4 Jan 2021 13:41:58 +0000 (14:41 +0100)]
spec: support gbs(1) incremental builds
gbs(1) enable incremental builds that are significantly faster, hoewever,
spec files need some adjustments.
+ You can't use -n <name> with %setup
+ There is no point in making mrproper
+ use rsync(1) instead of cp(1)+find(1) to copy devel files
Other changes are:
+ use make headers_install to install headers in the buildroot
+ add _smp_mflags to make(1) things faster
Change-Id: Ia14fbe7acab8b83683f9e07757b4f62a7657b2a5
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Łukasz Stelmach [Mon, 21 Dec 2020 12:46:37 +0000 (13:46 +0100)]
script: adjust ccache support
Change-Id: I735295fc21cf7caa29b84548a8f21449ed97800e
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Łukasz Stelmach [Wed, 13 Jan 2021 10:24:40 +0000 (11:24 +0100)]
script: increase the number of concurrent compilers
It is safe to run as many compilation processes as twice the number of
CPUs. This is the default settings of RPM building process in Tizen.
Change-Id: Id68d9d31bc54da11c8732689645408241a517887
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Łukasz Stelmach [Wed, 13 Jan 2021 10:12:04 +0000 (11:12 +0100)]
script: use $NCPUS for arm64 builds too
Fixes:
b371be68152e ("script: Fix to use NCPUS dynamically")
Change-Id: I32b5c08f4b00ca24032a2f9355d308f3df825fbd
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Seung-Woo Kim [Thu, 7 Jan 2021 09:09:20 +0000 (18:09 +0900)]
ARM: mm: Free memblock from free_initrd_mem()
Even after free_initrd_mem(), memblock for initrd remains. Free
memblock for initrd from free_initrd_mem().
Reported-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
[sw0312.kim: port mainline posted patch to 5.4.y]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I42a7461558868cdfdc559959112c81bc4c8b10c5
Sung-hun Kim [Thu, 7 Jan 2021 04:01:01 +0000 (13:01 +0900)]
ARM: dts: bcm2711-rpi-4-b: Adjust CMA size due to the OOM issue
Since 32-bit kernel has a limitation in the lowmem size, big CMA size
severely affect on available memory for kernel. Because of that, some test
cases make OOM kills due to the exhaustion in kernel available memory that
was reported by Jaehoon Chung (jh80.chung@samsung.com).
To handle this, I adjusted CMA size to 400MB while it meets the requirement
for UHD resolution.
Change-Id: I189699d4ce5f2866c01edf68c8138e9278679188
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Hoegeun Kwon [Mon, 21 Dec 2020 04:54:55 +0000 (13:54 +0900)]
ARM: dts: bcm2711-rpi-4-b: Fix CMA size to 512M
Increase cma size to 512 for use 4k GL on tizen platform.
When using RPI4 1GB model + 4k UHD, reclaim occurs a lot and it is slow.
Change-Id: Iac60a9fa0d5f76085e60cbf3db9a90585597de57
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Hoegeun Kwon [Mon, 14 Dec 2020 14:24:34 +0000 (23:24 +0900)]
script: Fix to use NCPUS dynamically
It uses NCPUS dynamically.
Change-Id: Ib7b1229f387b9c91f4eb2b29cc8f3bfe207fcaaa
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@gmail.com>
Hoegeun Kwon [Mon, 9 Nov 2020 07:44:46 +0000 (16:44 +0900)]
ARM: tizen_bcm2711_defconfig: Fix console loglevel for logo display
Modifiy CONSOLE_LOGLEVEL_QUIET defconfig to 3 for logo display.
Change-Id: Idae234c40304fbe8fd5f02941e53505a6bd189fa
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Hoegeun Kwon [Mon, 9 Nov 2020 07:03:59 +0000 (16:03 +0900)]
arm64: tizen_bcm2711_defconfig: Fix console loglevel for logo display
Modifiy CONSOLE_LOGLEVEL_QUIET defconfig to 3 for logo display.
Change-Id: I5112d85dedd1e116a75af0d07c09d77182ff4f5a
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Hoegeun Kwon [Tue, 3 Nov 2020 08:09:20 +0000 (17:09 +0900)]
rpi4: boot: config: Enable hdmi_force_hotplug
There is a problem that the booting stops when booting without connecting
HDMI. To fix it we need to enable hdmi_force_hotplug.
Change-Id: I44e960a04f75c999ab69a75ad72d67311f8b70c1
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Sung-hun Kim [Wed, 28 Oct 2020 10:26:31 +0000 (19:26 +0900)]
mm: LKSM: bug fix for KASAN out-of-bound access error on accessing a filter
KASAN reports out-of-bound accesses (reported by Jaehoon Chung)
on slab which is performed for obtaining a next filtered
address to find a sharable page.
LKSM exploits bitmap-based filters to find sharable pages in
an efficient way. A buggy code is a kind of miscalculation for
boundary of the allocated bitmap. This patch takes care of it.
Change-Id: If45c5ce175db067523b60f11e69e12d2bc798659
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Jaehoon Chung [Mon, 5 Oct 2020 11:39:01 +0000 (20:39 +0900)]
brcmfmac: change from brcmf_dbg to brcmf_info
Change from brcmf_dbg to brcmf_info.
This patch is workaround to check debug message on Testhub.
Change-Id: I7fef8f64fc38e43b6544fab3e9474e7f1829cc60
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Seung-Woo Kim [Tue, 15 Sep 2020 09:48:22 +0000 (18:48 +0900)]
scripts: mkbootimg_rpi4.sh: use compress image
Use compressed image for less size.
Change-Id: I9ec8b7e5e35bfa8ae6ac2832d52d4748e9a79668
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Thu, 10 Sep 2020 04:28:11 +0000 (13:28 +0900)]
ARM64: tizen_bcm2711_defconfig: Enable VIDEO_CODEC_BCM2835
To support v4l2 codec device, enable VIDEO_CODEC_BCM2835 and
to meet dependency, enable MEDIA_CONTROLLER.
Change-Id: Id473825163c409ceaab5d4b618cf8bddd6af0f68
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Thu, 10 Sep 2020 04:25:20 +0000 (13:25 +0900)]
ARM: configs: tizen_bcm2711_defconfig: Enable VIDEO_CODEC_BCM2835
To support v4l2 codec device, enable VIDEO_CODEC_BCM2835.
Change-Id: I7f7147901b77b3ff01afc1a7c3c7f0ab9cc20701
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Jaehoon Chung [Mon, 24 Aug 2020 02:34:08 +0000 (11:34 +0900)]
ARM64: tizen_bcm2711_defconfig: Enable RTL8192CU config as module
Enable RTL8192CU configuration as module.
Change-Id: I4597976b08b9e1e98d61f42da674c28c5e476f10
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Jaehoon Chung [Mon, 24 Aug 2020 02:33:04 +0000 (11:33 +0900)]
ARM: tizen_bcm2711_defconfig: Enable RTL8192CU config as module
Enable RTL8192CU configuration as module.
Change-Id: Ibe38cc889d5e2973028b28615a2210f87056763f
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Hoegeun Kwon [Thu, 20 Aug 2020 05:24:51 +0000 (14:24 +0900)]
scripts: mkbootimg_rpi4.sh: Fix module image size to 32MB
The partition module size has been modified to 32MB.
Change-Id: I467fd7618d345a25d87af62985a1c2f8f47ad0eb
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Seung-Woo Kim [Fri, 14 Aug 2020 07:47:15 +0000 (16:47 +0900)]
ARM: dts: bcm2711-rpi-4-b: Enable uart2 node
Enable uart2 to support '/dev/ttyAMA1'. The node setting is from
arch/arm/boot/dts/overlays/uart2-overlay.dts, without cts, rts.
Tx pin is gpio 0, pin 27, and Rx pin is gpio 1, pin 28.
Ref: https://www.raspberrypi.org/forums/viewtopic.php?t=244827
Change-Id: Ib6c460f6c8e46f3ef7d2d40ab23b3524e438c6c9
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Fri, 14 Aug 2020 07:24:24 +0000 (16:24 +0900)]
rpi4: boot: config: disable eeprom i2c hat auto detect
From raspberry pi gpio pins, ID_SC and ID_SD are reserved by
firmware to detect HAT with i2c, but in Tizen, auto-detection
and dynamical setting dt with overlay is not supported.
To use the pins for uart2, explictly disable eeprom i2c hat
auto detect.
Ref: https://www.raspberrypi.org/documentation/configuration/config-txt/boot.md
Change-Id: Id5cf016b09e7661317529e1174842915165955bc
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Thu, 13 Aug 2020 09:57:09 +0000 (18:57 +0900)]
ARM64: configs: tizen_bcm2711_defconfig: enable I2C_STUB as module
Tizen peripheral-io tct requires i2c_stub module to test i2c
functionality. Enable I2C_STUB as module.
Change-Id: I93ea159349dd5bcfea7ceabd04af239c7f2a1b96
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Sung-hun Kim [Thu, 13 Aug 2020 06:46:36 +0000 (15:46 +0900)]
mm: LKSM: remove unnecessary debug messages
In order to get scanning candidates, LKSM hooks fork and exit calls even though
LKSM does not run. Previous patches include debugging messages when LKSM hooks
exit calls, and it can flush old kernel logs. To handle this, this patch removes
unnecessary debugging messages.
Change-Id: If475a880ee931668b6bebf53322622ba2a042c89
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Chanwoo Choi [Wed, 29 Jul 2020 07:52:52 +0000 (16:52 +0900)]
mm: Change fault_around_bytes default value from 65536 to 4096
To apply the 4K value for falut_around_bytes at the early booting step,
change fault_around_bytes default value from 65536 to 4096.
Change-Id: Id97650a035b524d7132bca6164581c8e15096354
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Sung-hun Kim [Thu, 16 Jul 2020 07:00:07 +0000 (16:00 +0900)]
ARM64: configs: tizen_bcm2711_defconfig: enable CONFIG_LKSM_FILTER
Change-Id: I54bbb1ee0a5e3923ebdb4b62038c3ba999e38dab
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Thu, 16 Jul 2020 06:58:28 +0000 (15:58 +0900)]
mm: LKSM: new feature: use filter-based scanning to reduce scanning cost
LKSM_FILTER is a new feature which is intended to reduce the computation cost.
LKSM_FILTER exploits bitmap-based filters to skip scanning of unnecessary
pages. To this end, LKSM collects addresses of shared pages to make filters.
The rationale of LKSM_FILTER is that user-level programs share common runtime
framework and libraries. Because of that processes can have similar address
space layout. It means that if a page is merged with another page, the same
virtual address in different process can be merged with this merged page.
In this regard, KSM can use a single global filter to cover all sharable areas
in the system.
The challenge is caused by a secure construct of Linux kernel, namely ASLR.
ASLR enforces to have randomized address space for each process, and it
severely disrupts making a global filter.
To overcome this challenge, LKSM exploits two information: regions and offsets.
A region means the physically mapped area. Each process has its own VMAs but
they may mapped same files. A region means the original one.
An address space of a process is randomized in the unit of VMA. It means that
if pages are merged even in the different virtual addresses, there can be at
same offsets from individual VMAs.
LKSM leverages both regions and offsets to construct per-region filters.
By using per-region filters, LKSM could effectively reduce its scanning space
and also computation cost by up to 46% against previous version of LKSM at the
expense of somewhat sharing chances.
Change-Id: I6f010d991b514268a897ce8f7b88fb1442ef39b4
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Thu, 16 Jul 2020 00:07:37 +0000 (09:07 +0900)]
ARM64: configs: tizen_bcm2711_defconfig: enable CONFIG_LKSM
Change-Id: Ifa373a977364866a3c472665b21b44cf2b29cffc
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Thu, 16 Jul 2020 00:05:12 +0000 (09:05 +0900)]
mm: LKSM: lightweight memory deduplication for embedded devices
Lightweight KSM (in short, LKSM) is a variant of KSM that is implemented in
a fully event-triggered manner. LKSM provides a memory deduplication facility
like vanilla KSM while it extremely reduces overhead.
Normally, LKSM is blocked and waits for incoming deduplication requests from
user-level process (e.g., resourced). When a user-level process submits
deduplication request via sysfs, LKSM performs requested-level of deduplication,
such as partial and full deduplications.
After that, LKSM is going to sleep again and waits for next request coming.
By doing so, LKSM mitigates side effects that impact on system performance,
for instance, occupying system resources such as CPU and incurring cache
pollutions.
Change-Id: I551feb45d8c59ccddea60ced96225780d50e1c43
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Sung-hun Kim [Tue, 14 Jul 2020 06:04:38 +0000 (15:04 +0900)]
mm: LKSM: prepare to add LKSM code
A new feature, namely lightweight KSM (LKSM), is based on KSM in Linux and
much of codes are copied from KSM to LKSM.
To distinguish original KSM codes and developed codes in LKSM, original KSM
file (mm/ksm.c) is copied to mm/lksm.c.
Change-Id: I4e2a149f0978d0b74e9ecc7eedbd7901eb54ad44
Signed-off-by: Sung-hun Kim <sfoon.kim@samsung.com>
Seung-Woo Kim [Fri, 31 Jul 2020 06:19:08 +0000 (15:19 +0900)]
Revert "brd: remove support for BLKFLSBUF"
This reverts commit
ff26956875c2f05e12ecec9938411a2c7dfc767d.
To free ramdisk memory, BLKFLSBUF support is required.
Change-Id: Ib363fdcb65a21914c8baa2099e4b1ce6242428e2
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Fri, 31 Jul 2020 06:18:06 +0000 (15:18 +0900)]
Revert "brd: remove discard support"
This reverts commit
f09a06a193d942a12c1a33c153388b3962222006.
To support ramdisk flush, discard is required. So, revert the commit.
Note: struct queue_limit::discard_zeroes_data flag setting is
removed and queue_flag_set_unlocked() is replaced
blk_queue_flag_set().
Change-Id: Iead94d2263ce7ab688e57de587fa77f649285b10
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Fri, 31 Jul 2020 06:38:14 +0000 (15:38 +0900)]
Revert "brd: remove unused brd_mutex"
This reverts commit
15f7b41f70ddcca3b555bd0fdc7c8da7466b517e.
To support brd flush to free ramdisk brd_mutex is required.
Change-Id: Ide75bcb73812c3c7e04bfe6ebaed0d6d511e01dd
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Jaehoon Chung [Mon, 3 Aug 2020 05:45:35 +0000 (14:45 +0900)]
Revert "brcmfmac: move configuration of probe request IEs"
This reverts commit
bd99a3013bdc00f8fc7534c657b39616792b4467.
It doesn't find any p2p-device with wpa_supplicant on Tizen.
- After reverted this, it's working fine.
Change-Id: I5fa0924e888b91fef17ac3d174ee2a2e49d5e5a6
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>