Re: [PATCH 86/87] fs: switch timespec64 fields in inode to discrete integers

2023-09-28 Thread Amir Goldstein
On Fri, Sep 29, 2023 at 3:19 AM Linus Torvalds wrote: ... > So yes, real programs to cache stat information, and it matters for > performance. > > But I don't think any actual reasonable program will have > *correctness* issues, though - I beg to disagree. > because there are certainly

Re: [PATCH 86/87] fs: switch timespec64 fields in inode to discrete integers

2023-09-28 Thread Amir Goldstein
On Thu, Sep 28, 2023 at 8:19 PM Darrick J. Wong wrote: > > On Thu, Sep 28, 2023 at 01:06:03PM -0400, Jeff Layton wrote: > > On Thu, 2023-09-28 at 11:48 -0400, Arnd Bergmann wrote: > > > On Thu, Sep 28, 2023, at 07:05, Jeff Layton wrote: > > > > This shaves 8 bytes off struct inode, according to

Re: [PATCH V4 2/2] tools/perf/tests: Fix object code reading to skip address that falls out of text section

2023-09-28 Thread Athira Rajeev
> On 27-Sep-2023, at 8:25 PM, Athira Rajeev wrote: > > > >> On 27-Sep-2023, at 5:45 AM, Namhyung Kim wrote: >> >> On Thu, Sep 14, 2023 at 10:40 PM Athira Rajeev >> wrote: >>> >>> The testcase "Object code reading" fails in somecases >>> for "fs_something" sub test as below: >>> >>>

Re: [PATCH 2/2] tools/perf: Add perf binary dependent rule for shellcheck log in Makefile.perf

2023-09-28 Thread Athira Rajeev
> On 27-Sep-2023, at 9:55 AM, Athira Rajeev wrote: > > > >> On 27-Sep-2023, at 5:25 AM, Namhyung Kim wrote: >> >> On Thu, Sep 14, 2023 at 10:18 AM Athira Rajeev >> wrote: >>> >>> Add rule in new Makefile "tests/Makefile.tests" for running >>> shellcheck on shell test scripts. This

[PATCH 3/3] tools/perf/tests: Fix shellcheck warning in record_sideband.sh test

2023-09-28 Thread Athira Rajeev
Running shellcheck on record_sideband.sh throws below warning: In tests/shell/record_sideband.sh line 25: if ! perf record -o ${perfdata} -BN --no-bpf-event -C $1 true 2>&1 >/dev/null ^--^ SC2069: To redirect stdout+stderr, 2>&1 must be last (or use '{ cmd > file;

[PATCH 2/3] tools/perf/tests Ignore the shellcheck SC2046 warning in lock_contentio

2023-09-28 Thread Athira Rajeev
Running shellcheck on lock_contention.sh generates below warning In tests/shell/lock_contention.sh line 36: if [ `nproc` -lt 4 ]; then ^-^ SC2046: Quote this to prevent word splitting. Here since nproc will generate a single word output and there is no

[PATCH 1/3] perf tests test_arm_coresight: Fix the shellcheck warning in latest test_arm_coresight.sh

2023-09-28 Thread Athira Rajeev
Running shellcheck on tests/shell/test_arm_coresight.sh throws below warnings: In tests/shell/test_arm_coresight.sh line 15: cs_etm_path=$(find /sys/bus/event_source/devices/cs_etm/ -name cpu* -print -quit) ^--^ SC2061: Quote the parameter to -name so the shell

[PATCH 0/3] Fix for shellcheck issues with latest scripts in tests/shell

2023-09-28 Thread Athira Rajeev
shellcheck was run on perf tool shell scripts as a pre-requisite to include a build option for shellcheck discussed here: https://www.spinics.net/lists/linux-perf-users/msg25553.html And fixes were added for the coding/formatting issues in two patchsets:

Re: [PATCHv7 2/4] powerpc/setup: Loosen the mapping between cpu logical id and its seq in dt

2023-09-28 Thread Pingfan Liu
On Fri, Sep 29, 2023 at 4:36 AM Wen Xiong wrote: > > Hi Pingfan, > > + avail = intserv_node->avail; > + nthreads = intserv_node->len / sizeof(int); > + for (j = 0; j < nthreads && cpu < nr_cpu_ids; j++) { > set_cpu_present(cpu,

Re: [PATCH 86/87] fs: switch timespec64 fields in inode to discrete integers

2023-09-28 Thread Linus Torvalds
On Thu, 28 Sept 2023 at 14:28, Theodore Ts'o wrote: > > I don't think anyone will complain about breaking the userspace API > --- especially since if, say, the CIA was using this for their spies' > drop boxes, they probably wouldn't want to admit it. :-) Well, you will find that real apps do

Re: [PATCH 86/87] fs: switch timespec64 fields in inode to discrete integers

2023-09-28 Thread Theodore Ts'o
On Thu, Sep 28, 2023 at 01:40:55PM -0400, Jeff Layton wrote: > > Correct. We'd lose some fidelity in currently stored timestamps, but as > Linus and Ted pointed out, anything below ~100ns granularity is > effectively just noise, as that's the floor overhead for calling into > the kernel. It's

Re: [PATCH 86/87] fs: switch timespec64 fields in inode to discrete integers

2023-09-28 Thread Arnd Bergmann
On Thu, Sep 28, 2023, at 13:40, Jeff Layton wrote: > On Thu, 2023-09-28 at 10:19 -0700, Darrick J. Wong wrote: >> >> > I remember seeing those patches go by. I don't remember that change >> > being NaK'ed, but I wasn't paying close attention at the time >> > >> > Looking at it objectively now, I

Re: [PATCH 11/15] sgi-xp: Remove the now superfluous sentinel element from ctl_table array

2023-09-28 Thread Steve Wahl
On Thu, Sep 28, 2023 at 03:21:36PM +0200, Joel Granados via B4 Relay wrote: > From: Joel Granados > > This commit comes at the tail end of a greater effort to remove the > empty elements at the end of the ctl_table arrays (sentinels) which > will reduce the overall build time size of the kernel

Re: [PATCH 87/87] fs: move i_blocks up a few places in struct inode

2023-09-28 Thread Linus Torvalds
On Thu, 28 Sept 2023 at 04:06, Jeff Layton wrote: > > Move i_blocks up above the i_lock, which moves the new 4 byte hole to > just after the timestamps, without changing the size of the structure. I'm sure others have mentioned this, but 'struct inode' is marked with __randomize_layout, so the

Re: [PATCH 87/87] fs: move i_blocks up a few places in struct inode

2023-09-28 Thread Jeff Layton
On Thu, 2023-09-28 at 10:41 -0700, Linus Torvalds wrote: > On Thu, 28 Sept 2023 at 04:06, Jeff Layton wrote: > > > > Move i_blocks up above the i_lock, which moves the new 4 byte hole to > > just after the timestamps, without changing the size of the structure. > > I'm sure others have

Re: [PATCH 86/87] fs: switch timespec64 fields in inode to discrete integers

2023-09-28 Thread Jeff Layton
On Thu, 2023-09-28 at 10:19 -0700, Darrick J. Wong wrote: > On Thu, Sep 28, 2023 at 01:06:03PM -0400, Jeff Layton wrote: > > On Thu, 2023-09-28 at 11:48 -0400, Arnd Bergmann wrote: > > > On Thu, Sep 28, 2023, at 07:05, Jeff Layton wrote: > > > > This shaves 8 bytes off struct inode, according to

Re: [PATCH 86/87] fs: switch timespec64 fields in inode to discrete integers

2023-09-28 Thread Darrick J. Wong
On Thu, Sep 28, 2023 at 01:06:03PM -0400, Jeff Layton wrote: > On Thu, 2023-09-28 at 11:48 -0400, Arnd Bergmann wrote: > > On Thu, Sep 28, 2023, at 07:05, Jeff Layton wrote: > > > This shaves 8 bytes off struct inode, according to pahole. > > > > > > Signed-off-by: Jeff Layton > > > > FWIW,

Re: [PATCH 86/87] fs: switch timespec64 fields in inode to discrete integers

2023-09-28 Thread Jeff Layton
On Thu, 2023-09-28 at 07:05 -0400, Jeff Layton wrote: > This shaves 8 bytes off struct inode, according to pahole. > > Signed-off-by: Jeff Layton > --- > include/linux/fs.h | 32 +++- > 1 file changed, 23 insertions(+), 9 deletions(-) > > diff --git

Re: [PATCH 86/87] fs: switch timespec64 fields in inode to discrete integers

2023-09-28 Thread Jeff Layton
On Thu, 2023-09-28 at 11:48 -0400, Arnd Bergmann wrote: > On Thu, Sep 28, 2023, at 07:05, Jeff Layton wrote: > > This shaves 8 bytes off struct inode, according to pahole. > > > > Signed-off-by: Jeff Layton > > FWIW, this is similar to the approach that Deepa suggested > back in 2016: > >

Re: [PATCH 86/87] fs: switch timespec64 fields in inode to discrete integers

2023-09-28 Thread Arnd Bergmann
On Thu, Sep 28, 2023, at 07:05, Jeff Layton wrote: > This shaves 8 bytes off struct inode, according to pahole. > > Signed-off-by: Jeff Layton FWIW, this is similar to the approach that Deepa suggested back in 2016:

Kernel Panic 6.5.0-1 PPC

2023-09-28 Thread Dan Whitehouse
Hi, I'm running Debian on an old Powermac (32-bit PPC G4). I'm seeing kernel panics with 6.5.0-1. Everything seems to be fine with: Linux powermac-g4 6.4.0-4-powerpc #1 Debian 6.4.13-1 (2023-08-31) ppc GNU/Linux 0.00] MSR:9032 CR: 48024242 XER: 0.00]

Re: [PATCH 02/26] vfio: Move KVM get/put helpers to colocate it with other KVM related code

2023-09-28 Thread Alex Williamson
On Fri, 15 Sep 2023 17:30:54 -0700 Sean Christopherson wrote: > Move the definitions of vfio_device_get_kvm_safe() and vfio_device_put_kvm() > down in vfio_main.c to colocate them with other KVM-specific functions, > e.g. to allow wrapping them all with a single CONFIG_KVM check. > >

Re: [PATCH 05/26] vfio: KVM: Pass get/put helpers from KVM to VFIO, don't do circular lookup

2023-09-28 Thread Alex Williamson
On Fri, 15 Sep 2023 17:30:57 -0700 Sean Christopherson wrote: > Explicitly pass KVM's get/put helpers to VFIO when attaching a VM to > VFIO instead of having VFIO do a symbol lookup back into KVM. Having both > KVM and VFIO do symbol lookups increases the overall complexity and places > an

Re: [PATCH 03/26] virt: Declare and define vfio_file_set_kvm() iff CONFIG_KVM is enabled

2023-09-28 Thread Alex Williamson
On Fri, 15 Sep 2023 17:30:55 -0700 Sean Christopherson wrote: > Hide vfio_file_set_kvm() and its unique helpers if KVM is not enabled, > nothing else in the kernel (or out of the kernel) should be using a > KVM specific helper. > > Signed-off-by: Sean Christopherson > --- >

Re: [PATCH 01/26] vfio: Wrap KVM helpers with CONFIG_KVM instead of CONFIG_HAVE_KVM

2023-09-28 Thread Alex Williamson
On Fri, 15 Sep 2023 17:30:53 -0700 Sean Christopherson wrote: > Wrap the helpers for getting references to KVM instances with a check on > CONFIG_KVM being enabled, not on CONFIG_HAVE_KVM being defined. PPC does > NOT select HAVE_KVM, despite obviously supporting KVM, and guarding code > to get

Re: [PATCH 04/26] vfio: Add struct to hold KVM assets and dedup group vs. iommufd code

2023-09-28 Thread Alex Williamson
On Fri, 15 Sep 2023 17:30:56 -0700 Sean Christopherson wrote: > Add a struct to hold the KVM assets need to manage and pass along KVM > references to VFIO devices. Providing a common struct deduplicates the > group vs. iommufd code, and will make it easier to rework the attachment > logic so

Re: [PATCH 06/26] KVM: Drop CONFIG_KVM_VFIO and just look at KVM+VFIO

2023-09-28 Thread Alex Williamson
On Fri, 15 Sep 2023 17:30:58 -0700 Sean Christopherson wrote: > Drop KVM's KVM_VFIO Kconfig, and instead compile in VFIO support if > and only if VFIO itself is enabled. Similar to the recent change to have > VFIO stop looking at HAVE_KVM, compiling in support for talking to VFIO > just because

Re: [PATCH v5 5/5] powerpc/bpf: use bpf_jit_binary_pack_[alloc|finalize|free]

2023-09-28 Thread Song Liu
On Thu, Sep 28, 2023 at 12:49 PM Hari Bathini wrote: > > Use bpf_jit_binary_pack_alloc in powerpc jit. The jit engine first > writes the program to the rw buffer. When the jit is done, the program > is copied to the final location with bpf_jit_binary_pack_finalize. > With multiple jit_subprogs,

Re: [PATCH v5 4/5] powerpc/bpf: rename powerpc64_jit_data to powerpc_jit_data

2023-09-28 Thread Song Liu
On Thu, Sep 28, 2023 at 12:48 PM Hari Bathini wrote: > > powerpc64_jit_data is a misnomer as it is meant for both ppc32 and > ppc64. Rename it to powerpc_jit_data. > > Signed-off-by: Hari Bathini Acked-by: Song Liu

Re: [PATCH v5 3/5] powerpc/bpf: implement bpf_arch_text_invalidate for bpf_prog_pack

2023-09-28 Thread Song Liu
On Thu, Sep 28, 2023 at 12:49 PM Hari Bathini wrote: > > Implement bpf_arch_text_invalidate and use it to fill unused part of > the bpf_prog_pack with trap instructions when a BPF program is freed. > > Signed-off-by: Hari Bathini Acked-by: Song Liu

Re: [PATCH v5 2/5] powerpc/bpf: implement bpf_arch_text_copy

2023-09-28 Thread Song Liu
On Thu, Sep 28, 2023 at 12:48 PM Hari Bathini wrote: > > bpf_arch_text_copy is used to dump JITed binary to RX page, allowing > multiple BPF programs to share the same page. Use the newly introduced > patch_instructions() to implement it. > > Signed-off-by: Hari Bathini Acked-by: Song Liu

Re: [PATCH v5 1/5] powerpc/code-patching: introduce patch_instructions()

2023-09-28 Thread Song Liu
On Thu, Sep 28, 2023 at 12:48 PM Hari Bathini wrote: > > patch_instruction() entails setting up pte, patching the instruction, > clearing the pte and flushing the tlb. If multiple instructions need > to be patched, every instruction would have to go through the above > drill unnecessarily.

RE: [PATCHv7 2/4] powerpc/setup: Loosen the mapping between cpu logical id and its seq in dt

2023-09-28 Thread Wen Xiong
Hi Pingfan, + avail = intserv_node->avail; + nthreads = intserv_node->len / sizeof(int); + for (j = 0; j < nthreads && cpu < nr_cpu_ids; j++) { set_cpu_present(cpu, avail); set_cpu_possible(cpu, true); -

Re: [PATCH v4 4/5] powerpc/code-patching: introduce patch_instructions()

2023-09-28 Thread Hari Bathini
On 26/09/23 12:21 pm, Christophe Leroy wrote: Le 26/09/2023 à 00:50, Song Liu a écrit : On Fri, Sep 8, 2023 at 6:28 AM Hari Bathini wrote: patch_instruction() entails setting up pte, patching the instruction, clearing the pte and flushing the tlb. If multiple instructions need to be

[PATCH v5 5/5] powerpc/bpf: use bpf_jit_binary_pack_[alloc|finalize|free]

2023-09-28 Thread Hari Bathini
Use bpf_jit_binary_pack_alloc in powerpc jit. The jit engine first writes the program to the rw buffer. When the jit is done, the program is copied to the final location with bpf_jit_binary_pack_finalize. With multiple jit_subprogs, bpf_jit_free is called on some subprograms that haven't got

[PATCH v5 4/5] powerpc/bpf: rename powerpc64_jit_data to powerpc_jit_data

2023-09-28 Thread Hari Bathini
powerpc64_jit_data is a misnomer as it is meant for both ppc32 and ppc64. Rename it to powerpc_jit_data. Signed-off-by: Hari Bathini --- arch/powerpc/net/bpf_jit_comp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/net/bpf_jit_comp.c

[PATCH v5 3/5] powerpc/bpf: implement bpf_arch_text_invalidate for bpf_prog_pack

2023-09-28 Thread Hari Bathini
Implement bpf_arch_text_invalidate and use it to fill unused part of the bpf_prog_pack with trap instructions when a BPF program is freed. Signed-off-by: Hari Bathini --- arch/powerpc/net/bpf_jit_comp.c | 15 +++ 1 file changed, 15 insertions(+) diff --git

[PATCH v5 2/5] powerpc/bpf: implement bpf_arch_text_copy

2023-09-28 Thread Hari Bathini
bpf_arch_text_copy is used to dump JITed binary to RX page, allowing multiple BPF programs to share the same page. Use the newly introduced patch_instructions() to implement it. Signed-off-by: Hari Bathini --- arch/powerpc/net/bpf_jit_comp.c | 20 +++- 1 file changed, 19

[PATCH v5 1/5] powerpc/code-patching: introduce patch_instructions()

2023-09-28 Thread Hari Bathini
patch_instruction() entails setting up pte, patching the instruction, clearing the pte and flushing the tlb. If multiple instructions need to be patched, every instruction would have to go through the above drill unnecessarily. Instead, introduce function patch_instructions() that sets up the pte,

[PATCH v5 0/5] powerpc/bpf: use BPF prog pack allocator

2023-09-28 Thread Hari Bathini
Most BPF programs are small, but they consume a page each. For systems with busy traffic and many BPF programs, this may also add significant pressure on instruction TLB. High iTLB pressure usually slows down the whole system causing visible performance degradation for production workloads.

Re: [PATCH 00/15] sysctl: Remove sentinel elements from drivers

2023-09-28 Thread Christophe Leroy
Le 28/09/2023 à 15:21, Joel Granados via B4 Relay a écrit : > From: Joel Granados Automatic test fails on powerpc, see https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20230928-jag-sysctl_remove_empty_elem_drivers-v1-15-e59120fca...@samsung.com/ Kernel attempted to read user p

Re: [PATCH 14/15] hyper-v/azure: Remove now superfluous sentinel element from ctl_table array

2023-09-28 Thread Wei Liu
Please change the prefix to "Drivers: hv:" in the subject line in the two patches. On Thu, Sep 28, 2023 at 03:21:39PM +0200, Joel Granados via B4 Relay wrote: > From: Joel Granados > > This commit comes at the tail end of a greater effort to remove the > empty elements at the end of the

Re: [PATCH 13/15] raid: Remove now superfluous sentinel element from ctl_table array

2023-09-28 Thread Song Liu
On Thu, Sep 28, 2023 at 6:20 AM Joel Granados via B4 Relay wrote: > > From: Joel Granados > > This commit comes at the tail end of a greater effort to remove the > empty elements at the end of the ctl_table arrays (sentinels) which > will reduce the overall build time size of the kernel and run

Re: [PATCH 01/15] cdrom: Remove now superfluous sentinel element from ctl_table array

2023-09-28 Thread Greg Kroah-Hartman
On Thu, Sep 28, 2023 at 03:21:26PM +0200, Joel Granados via B4 Relay wrote: > From: Joel Granados > > This commit comes at the tail end of a greater effort to remove the > empty elements at the end of the ctl_table arrays (sentinels) which > will reduce the overall build time size of the kernel

[PATCH 06/15] parport: Remove the now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 02/15] hpet: Remove now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 08/15] infiniband: Remove the now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 15/15] intel drm: Remove now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 12/15] fw loader: Remove the now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 10/15] vrf: Remove the now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 13/15] raid: Remove now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 11/15] sgi-xp: Remove the now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 14/15] hyper-v/azure: Remove now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 05/15] scsi: Remove now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 04/15] tty: Remove now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 09/15] char-misc: Remove the now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 07/15] macintosh: Remove the now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 03/15] xen: Remove now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

[PATCH 00/15] sysctl: Remove sentinel elements from drivers

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados What? These commits remove the sentinel element (last empty element) from the sysctl arrays of all the files under the "drivers/" directory that use a sysctl array for registration. The merging of the preparation patches (in

[PATCH 01/15] cdrom: Remove now superfluous sentinel element from ctl_table array

2023-09-28 Thread Joel Granados via B4 Relay
From: Joel Granados This commit comes at the tail end of a greater effort to remove the empty elements at the end of the ctl_table arrays (sentinels) which will reduce the overall build time size of the kernel and run time memory bloat by ~64 bytes per sentinel (further information Link :

Re: [PATCH 87/87] fs: move i_blocks up a few places in struct inode

2023-09-28 Thread Jeff Layton
On Thu, 2023-09-28 at 14:35 +0300, Amir Goldstein wrote: > On Thu, Sep 28, 2023 at 2:06 PM Jeff Layton wrote: > > > > The recent change to use discrete integers instead of struct timespec64 > > in struct inode shaved 8 bytes off of it, but it also moves the i_lock > > into the previous

Re: [PATCH 87/87] fs: move i_blocks up a few places in struct inode

2023-09-28 Thread Amir Goldstein
On Thu, Sep 28, 2023 at 2:06 PM Jeff Layton wrote: > > The recent change to use discrete integers instead of struct timespec64 > in struct inode shaved 8 bytes off of it, but it also moves the i_lock > into the previous cacheline, away from the fields that it protects. > > Move i_blocks up above

[PATCH 87/87] fs: move i_blocks up a few places in struct inode

2023-09-28 Thread Jeff Layton
The recent change to use discrete integers instead of struct timespec64 in struct inode shaved 8 bytes off of it, but it also moves the i_lock into the previous cacheline, away from the fields that it protects. Move i_blocks up above the i_lock, which moves the new 4 byte hole to just after the

[PATCH 86/87] fs: switch timespec64 fields in inode to discrete integers

2023-09-28 Thread Jeff Layton
This shaves 8 bytes off struct inode, according to pahole. Signed-off-by: Jeff Layton --- include/linux/fs.h | 32 +++- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/include/linux/fs.h b/include/linux/fs.h index 831657011036..de902ff2938b 100644 ---

[PATCH 85/87] fs: rename i_atime and i_mtime fields to __i_atime and __i_mtime

2023-09-28 Thread Jeff Layton
Make it clear that these fields are private now, and that the accessors should be used instead. Signed-off-by: Jeff Layton --- include/linux/fs.h | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/include/linux/fs.h b/include/linux/fs.h index

[PATCH 01/87] fs: new accessor methods for atime and mtime

2023-09-28 Thread Jeff Layton
Recently, we converted the ctime accesses in the kernel to use new accessor functions. Linus recently pointed out though that if we add accessors for the atime and mtime, then that would allow us to seamlessly change how these timestamps are stored in the inode. Add new accessor functions for the

[PATCH 00/87] fs: new accessor methods for atime and mtime

2023-09-28 Thread Jeff Layton
While working on the multigrain timestamp changes, Linus suggested adding some similar wrappers for accessing the atime and mtime that we have for the ctime. With that, we could then move to using discrete integers instead of timespec64 in struct inode, and shrink it. Linus suggested using macros

[PATCH 03/87] arch/powerpc/platforms/cell/spufs: convert to new inode {a,m}time accessors

2023-09-28 Thread Jeff Layton
Signed-off-by: Jeff Layton --- arch/powerpc/platforms/cell/spufs/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c index 38c5be34c895..10c1320adfd0 100644 ---

Re: [PATCH 00/59] dma: Convert to platform remove callback returning void

2023-09-28 Thread Vinod Koul
On 19-09-23, 15:31, Uwe Kleine-König wrote: > Hello, > > this series convert nearly all platform drivers below drivers/dma to use > .remove_new(). The motivation is to get rid of an integer return code > that is (mostly) ignored by the platform driver core and error prone on > the driver side. I

Re: [PATCH 00/59] dma: Convert to platform remove callback returning void

2023-09-28 Thread Vinod Koul
On Tue, 19 Sep 2023 15:31:08 +0200, Uwe Kleine-König wrote: > this series convert nearly all platform drivers below drivers/dma to use > .remove_new(). The motivation is to get rid of an integer return code > that is (mostly) ignored by the platform driver core and error prone on > the driver

[RFC PATCH v5 11/11] media: audm2m: add virtual driver for audio memory to memory

2023-09-28 Thread Shengjiu Wang
Audio memory to memory virtual driver use video memory to memory virtual driver vim2m.c as example. The main difference is device type is VFL_TYPE_AUDIO and device cap type is V4L2_CAP_AUDIO_M2M. The device_run function is a dummy function, which is simply copy the data from input buffer to

[RFC PATCH v5 10/11] media: imx-asrc: Add memory to memory driver

2023-09-28 Thread Shengjiu Wang
Implement the ASRC memory to memory function using the v4l2 framework, user can use this function with v4l2 ioctl interface. User send the output and capture buffer to driver and driver store the converted data to the capture buffer. This feature can be shared by ASRC and EASRC drivers

[RFC PATCH v5 09/11] media: uapi: define audio sample format fourcc type

2023-09-28 Thread Shengjiu Wang
The audio sample format definition is from alsa, the header file is include/uapi/sound/asound.h, but don't include this header file directly, because in user space, there is another copy in alsa-lib. There will be conflict in userspace for include videodev2.h & asound.h and asoundlib.h Here still

[RFC PATCH v5 08/11] media: uapi: Add audio rate controls support

2023-09-28 Thread Shengjiu Wang
Audio rate controls is used for user to configure the audio sample rate to driver. Add V4L2_CID_ASRC_SOURCE_RATE and V4L2_CID_ASRC_DEST_RATE new ID for ASRC rate control. Signed-off-by: Shengjiu Wang --- .../userspace-api/media/v4l/common.rst| 1 +

[RFC PATCH v5 07/11] media: v4l2: Add audio capture and output support

2023-09-28 Thread Shengjiu Wang
Audio signal processing has the requirement for memory to memory similar as Video. This patch is to add this support in v4l2 framework, defined new buffer type V4L2_BUF_TYPE_AUDIO_CAPTURE and V4L2_BUF_TYPE_AUDIO_OUTPUT, defined new format v4l2_audio_format for audio case usage. The created audio

[RFC PATCH v5 06/11] media: uapi: Add V4L2_CAP_AUDIO_M2M capability flag

2023-09-28 Thread Shengjiu Wang
V4L2_CAP_AUDIO_M2M is similar to V4L2_CAP_VIDEO_M2M flag. It is used for audio memory to memory case. Signed-off-by: Shengjiu Wang --- Documentation/userspace-api/media/v4l/vidioc-querycap.rst| 3 +++ Documentation/userspace-api/media/videodev2.h.rst.exceptions | 1 +

[RFC PATCH v5 05/11] ASoC: fsl_easrc: register m2m platform device

2023-09-28 Thread Shengjiu Wang
Register m2m platform device,that user can use M2M feature. Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl_easrc.c | 19 +++ 1 file changed, 19 insertions(+) diff --git a/sound/soc/fsl/fsl_easrc.c b/sound/soc/fsl/fsl_easrc.c index 50aee04e7915..cf1f559e825c 100644 ---

[RFC PATCH v5 04/11] ASoC: fsl_asrc: register m2m platform device

2023-09-28 Thread Shengjiu Wang
Register m2m platform device, that user can use M2M feature. Defined platform data structure and platform driver name. Signed-off-by: Shengjiu Wang --- include/sound/fsl_asrc_common.h | 23 +++ sound/soc/fsl/fsl_asrc.c| 18 ++ 2 files changed, 41

[RFC PATCH v5 03/11] ASoC: fsl_asrc: move fsl_asrc_common.h to include/sound

2023-09-28 Thread Shengjiu Wang
Move fsl_asrc_common.h to include/sound that it can be included from other drivers. Signed-off-by: Shengjiu Wang --- {sound/soc/fsl => include/sound}/fsl_asrc_common.h | 0 sound/soc/fsl/fsl_asrc.h | 2 +- sound/soc/fsl/fsl_asrc_dma.c | 2 +-

[RFC PATCH v5 02/11] ASoC: fsl_easrc: define functions for memory to memory usage

2023-09-28 Thread Shengjiu Wang
ASRC can be used on memory to memory case, define several functions for m2m usage and export them as function pointer. Signed-off-by: Shengjiu Wang --- sound/soc/fsl/fsl_easrc.c | 195 ++ sound/soc/fsl/fsl_easrc.h | 6 ++ 2 files changed, 201 insertions(+)

[RFC PATCH v5 01/11] ASoC: fsl_asrc: define functions for memory to memory usage

2023-09-28 Thread Shengjiu Wang
ASRC can be used on memory to memory case, define several functions for m2m usage. m2m_start_part_one: first part of the start steps m2m_start_part_two: second part of the start steps m2m_stop_part_one: first part of stop steps m2m_stop_part_two: second part of stop steps, optional

[RFC PATCH v5 00/11] Add audio support in v4l2 framework

2023-09-28 Thread Shengjiu Wang
Audio signal processing also has the requirement for memory to memory similar as Video. This asrc memory to memory (memory ->asrc->memory) case is a non real time use case. User fills the input buffer to the asrc module, after conversion, then asrc sends back the output buffer to user. So it is

[PATCH V5 3/3] tools/perf/tests: Fix object code reading to skip address that falls out of text section

2023-09-28 Thread Athira Rajeev
The testcase "Object code reading" fails in somecases for "fs_something" sub test as below: Reading object code for memory address: 0xc00807f0142c File is: /lib/modules/6.5.0-rc3+/kernel/fs/xfs/xfs.ko On file address is: 0x1114cc Objdump command is: objdump -z -d

[PATCH V5 2/3] tools/perf: Add "is_kmod" to struct dso to check if it is kernel module

2023-09-28 Thread Athira Rajeev
Update "struct dso" to include new member "is_kmod". This new field will determine if the file is a kernel module or not. To resolve the address from a sample, perf looks at the DSO maps. In case of address from a kernel module, there were some address found to be not resolved. This was observed

[PATCH V5 1/3] tools/perf: Add text_end to "struct dso" to save .text section size

2023-09-28 Thread Athira Rajeev
Update "struct dso" to include new member "text_end". This new field will represent the offset for end of text section for a dso. For elf, this value is derived as: sh_size (Size of section in byes) + sh_offset (Section file offst) of the elf header for text. For bfd, this value is derived as: 1.

[PATCH v7 30/30] net: wan: fsl_qmc_hdlc: Add framer support

2023-09-28 Thread Herve Codina
Add framer support in the fsl_qmc_hdlc driver in order to be able to signal carrier changes to the network stack based on the framer status Also use this framer to provide information related to the E1/T1 line interface on IF_GET_IFACE and configure the line interface according to IF_IFACE_{E1,T1}

[PATCH v7 29/30] ASoC: codecs: Add support for the framer codec

2023-09-28 Thread Herve Codina
The framer codec interacts with a framer. It allows to use some of the framer timeslots as audio channels to transport audio data over the framer E1/T1/J1 lines. It also reports line carrier detection events through the ALSA jack detection feature. Signed-off-by: Herve Codina Reviewed-by:

[PATCH v7 28/30] MAINTAINERS: Add the Lantiq PEF2256 driver entry

2023-09-28 Thread Herve Codina
After contributing the driver, add myself as the maintainer for the Lantiq PEF2256 driver. Signed-off-by: Herve Codina Reviewed-by: Christophe Leroy --- MAINTAINERS | 8 1 file changed, 8 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 8b987f2c8633..d8f2433e326e 100644 ---

[PATCH v7 27/30] pinctrl: Add support for the Lantic PEF2256 pinmux

2023-09-28 Thread Herve Codina
The Lantiq PEF2256 is a framer and line interface component designed to fulfill all required interfacing between an analog E1/T1/J1 line and the digital PCM system highway/H.100 bus. This kind of component can be found in old telecommunication system. It was used to digital transmission of many

[PATCH v7 26/30] net: wan: framer: Add support for the Lantiq PEF2256 framer

2023-09-28 Thread Herve Codina
The Lantiq PEF2256 is a framer and line interface component designed to fulfill all required interfacing between an analog E1/T1/J1 line and the digital PCM system highway/H.100 bus. Signed-off-by: Herve Codina Reviewed-by: Christophe Leroy Reviewed-by: Linus Walleij ---

[PATCH v7 25/30] dt-bindings: net: Add the Lantiq PEF2256 E1/T1/J1 framer

2023-09-28 Thread Herve Codina
The Lantiq PEF2256 is a framer and line interface component designed to fulfill all required interfacing between an analog E1/T1/J1 line and the digital PCM system highway/H.100 bus. Signed-off-by: Herve Codina Reviewed-by: Christophe Leroy --- .../bindings/net/lantiq,pef2256.yaml |

[PATCH v7 24/30] net: wan: Add framer framework support

2023-09-28 Thread Herve Codina
A framer is a component in charge of an E1/T1 line interface. Connected usually to a TDM bus, it converts TDM frames to/from E1/T1 frames. It also provides information related to the E1/T1 line. The framer framework provides a set of APIs for the framer drivers (framer provider) to create/destroy

[PATCH v7 23/30] wan: qmc_hdlc: Add runtime timeslots changes support

2023-09-28 Thread Herve Codina
QMC channels support runtime timeslots changes but nothing is done at the QMC HDLC driver to handle these changes. Use existing IFACE ioctl in order to configure the timeslots to use. Signed-off-by: Herve Codina Reviewed-by: Christophe Leroy --- drivers/net/wan/fsl_qmc_hdlc.c | 169

[PATCH v7 22/30] soc: fsl: cpm1: qmc: Introduce functions to change timeslots at runtime

2023-09-28 Thread Herve Codina
Introduce qmc_chan_{get,set}_ts_info() function to allow timeslots modification at runtime. The modification is provided using qmc_chan_set_ts_info() and will be applied on next qmc_chan_start(). qmc_chan_set_ts_info() must be called with the channel rx and/or tx stopped. Signed-off-by: Herve

[PATCH v7 21/30] soc: fsl: cpm1: qmc: Remove timeslots handling from setup_chan()

2023-09-28 Thread Herve Codina
Timeslots setting is done at channel start() and stop(). There is no more need to do that during setup_chan(). Simply remove timeslot setting from setup_chan(). Signed-off-by: Herve Codina Reviewed-by: Christophe Leroy --- drivers/soc/fsl/qe/qmc.c | 28 1 file

[PATCH v7 20/30] soc: fsl: cpm1: qmc: Handle timeslot entries at channel start() and stop()

2023-09-28 Thread Herve Codina
In order to support runtime timeslot route changes, enable the channel timeslot entries at channel start() and disable them at channel stop(). Signed-off-by: Herve Codina Reviewed-by: Christophe Leroy --- drivers/soc/fsl/qe/qmc.c | 175 --- 1 file changed,

[PATCH v7 19/30] soc: fsl: cpm1: qmc: Introduce is_tsa_64rxtx flag

2023-09-28 Thread Herve Codina
In order to support runtime timeslot route changes, some operations will be different according the routing table used (common Rx and Tx table or one table for Rx and one for Tx). The is_tsa_64rxtx flag is introduced to avoid extra computation to determine the table format each time we need it.

[PATCH v7 18/30] soc: fsl: cpm1: qmc: Split Tx and Rx TSA entries setup

2023-09-28 Thread Herve Codina
The Tx and Rx entries for a given channel are set in one function. In order to modify Rx entries and Tx entries independently of one other, split this function in one for the Rx part and one for the Tx part. Signed-off-by: Herve Codina Reviewed-by: Christophe Leroy ---

[PATCH v7 17/30] soc: fsl: cpm1: qmc: Add support for disabling channel TSA entries

2023-09-28 Thread Herve Codina
In order to allow runtime timeslot route changes, disabling channel TSA entries needs to be supported. Add support for this new feature. Signed-off-by: Herve Codina Reviewed-by: Christophe Leroy --- drivers/soc/fsl/qe/qmc.c | 20 +++- 1 file changed, 11 insertions(+), 9

[PATCH v7 16/30] soc: fsl: cpm1: qmc: Check available timeslots in qmc_check_chans()

2023-09-28 Thread Herve Codina
The timeslots checked in qmc_check_chans() are the timeslots used. With the introduction of the available timeslots, the used timeslots are a subset of the available timeslots. The timeslots checked during the qmc_check_chans() call should be the available ones. Simply update and check the

  1   2   >