another task
- Using the list_op_pending field from robust_list_head struct to test
robustness when the lock owner dies before completing the locking
- Setting a invalid size for syscall argument `len`
Signed-off-by: André Almeida
---
Changes from v2:
- Dropped kselftest_harness include, using
Create ASSERT_{EQ, NE, TRUE, FALSE} macros to make test creation easier.
Signed-off-by: André Almeida
---
.../testing/selftests/futex/include/logging.h | 28 +++
1 file changed, 28 insertions(+)
diff --git a/tools/testing/selftests/futex/include/logging.h
b/tools/testing
l.org/lkml/20241010011142.905297-1-andrealm...@igalia.com/
- Create ASSERT_ macros for futex selftests
- Dropped kselftest_harness include, using just futex test API
André Almeida (2):
selftests/futex: Add ASSERT_ macros
selftests/futex: Create test for robust list
.../selftests/futex/functional/.gitignore
another task
- Using the list_op_pending field from robust_list_head struct to test
robustness when the lock owner dies before completing the locking
- Setting a invalid size for syscall argument `len`
Signed-off-by: André Almeida
---
Changes from v2:
- Dropped kselftest_harness include, using
another task
- Using the list_op_pending field from robust_list_head struct to test
robustness when the lock owner dies before completing the locking
- Setting a invalid size for syscall argument `len`
Signed-off-by: André Almeida
---
Changes from v2:
- Dropped kselftest_harness include, using
Create ASSERT_{EQ, NE, TRUE, FALSE} macros to make test creation easier.
Signed-off-by: André Almeida
---
.../testing/selftests/futex/include/logging.h | 28 +++
1 file changed, 28 insertions(+)
diff --git a/tools/testing/selftests/futex/include/logging.h
b/tools/testing
/20240903134033.816500-1-andrealm...@igalia.com
André Almeida (2):
selftests/futex: Add ASSERT_ macros
selftests/futex: Create test for robust list
.../selftests/futex/functional/.gitignore | 1 +
.../selftests/futex/functional/Makefile | 3 +-
.../selftests/futex/functional/robust_list.c | 512
Hey!
On 9/23/24 01:26, Vinicius Peixoto wrote:
Hi all,
This patch was developed during a hackathon organized by LKCAMP [1],
with the objective of writing KUnit tests, both to introduce people to
the kernel development process and to learn about different subsystems
(with the positive side effec
2
not ok 1 futex_requeue simple returned: 0
not ok 2 futex_requeue simple returned: 0
not ok 3 futex_requeue many returned: 0
not ok 4 futex_requeue many returned: 0
Instead, replace the sleep with barriers to make the sequencing
explicit.
Reviewed-by: André Almeida
Create a test for the robust list mechanism.
Signed-off-by: André Almeida
---
Changes from v1:
- Change futex type from int to _Atomic(unsigned int)
- Use old futex(FUTEX_WAIT) instead of the new sys_futex_wait()
---
.../selftests/futex/functional/.gitignore | 1 +
.../selftests/futex
Hi Eric,
Às 22:48 de 29/03/21, Eric Biggers escreveu:
On Sun, Mar 28, 2021 at 11:43:54AM -0300, André Almeida wrote:
For directories with negative dentries that are becoming case-insensitive
dirs, we need to remove all those negative dentries, otherwise they will
become dangling dentries
Às 12:07 de 28/03/21, Matthew Wilcox escreveu:
On Sun, Mar 28, 2021 at 11:43:54AM -0300, André Almeida wrote:
+/**
+ * d_clear_dir_neg_dentries - Remove negative dentries in an inode
+ * @dir: Directory to clear negative dentries
+ *
+ * For directories with negative dentries that are becoming
t;)
Signed-off-by: André Almeida
---
fs/ext4/ioctl.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
index a2cf35066f46..0eede4c93c22 100644
--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@ -381,6 +381,9 @@ static int ext4_ioctl_setflags(struct in
t;)
Signed-off-by: André Almeida
---
fs/f2fs/file.c | 4
1 file changed, 4 insertions(+)
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index d26ff2ae3f5e..616b7eb43795 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -1826,6 +1826,10 @@ static int f2fs_setflags_common(struct inode *
be negative.
Create a function to remove all negative dentries from a directory, to
be used as explained above by filesystems that support case-insensitive
lookups.
Signed-off-by: André Almeida
---
fs/dcache.c| 27 +++
include/linux/dcache.h | 1 +
2 files
210323195941.69720-1-andrealm...@collabora.com/T/#m3265579197095b792ee8b8e8b7f84a58c25c456b
André Almeida (3):
fs/dcache: Add d_clear_dir_neg_dentries()
ext4: Prevent dangling dentries on casefold directories
f2fs: Prevent dangling dentries on casefold directories
fs/dcache.c| 27 +
Às 18:58 de 23/03/21, Randy Dunlap escreveu:
Hi--
On 3/23/21 12:59 PM, André Almeida wrote:
Document mounting options to enable casefold support in tmpfs.
Signed-off-by: André Almeida
---
Documentation/filesystems/tmpfs.rst | 26 ++
1 file changed, 26 insertions
Hi Gabriel,
Às 19:19 de 23/03/21, Gabriel Krisman Bertazi escreveu:
André Almeida writes:
Document mounting options to enable casefold support in tmpfs.
Signed-off-by: André Almeida
---
Documentation/filesystems/tmpfs.rst | 26 ++
1 file changed, 26 insertions
Hi Al Viro,
Às 20:19 de 23/03/21, Al Viro escreveu:
On Tue, Mar 23, 2021 at 04:59:39PM -0300, André Almeida wrote:
* dcache handling:
For now, negative lookups are not inserted in the dcache, since they
would need to be invalidated anyway, because we can't trust missing file
dentries.
Às 17:18 de 23/03/21, Gabriel Krisman Bertazi escreveu:
André Almeida writes:
opt = fs_parse(fc, shmem_fs_parameters, param, &result);
if (opt < 0)
@@ -3468,6 +3519,23 @@ static int shmem_parse_one(struct fs_context *fc, struct
fs_parameter *param)
Hi Matthew,
Às 17:15 de 23/03/21, Matthew Wilcox escreveu:
On Tue, Mar 23, 2021 at 04:59:38PM -0300, André Almeida wrote:
This reverts commit 794c43f716845e2d48ce195ed5c4179a4e05ce5f.
For implementing casefolding support at tmpfs, it needs to set dentry
operations at superblock level, given
Implement IOCTL operations for files to set/get file flags. Implement
the only supported flag by now, that is S_CASEFOLD.
Signed-off-by: André Almeida
---
include/linux/shmem_fs.h | 4 ++
mm/shmem.c | 84 +++-
2 files changed, 87 insertions
Document mounting options to enable casefold support in tmpfs.
Signed-off-by: André Almeida
---
Documentation/filesystems/tmpfs.rst | 26 ++
1 file changed, 26 insertions(+)
diff --git a/Documentation/filesystems/tmpfs.rst
b/Documentation/filesystems/tmpfs.rst
index
e can access those exported function from tmpfs
code.
Signed-off-by: André Almeida
---
fs/libfs.c | 8 +---
include/linux/fs.h | 5 +
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/fs/libfs.c b/fs/libfs.c
index e2de5401abca..d1d06494463a 100644
--- a/fs/libfs.c
+++
uments telling the filesystem
code and userspace tools to enforce the encoding. When that optional
flag is set, any attempt to create a file name using an invalid UTF-8
sequence will fail and return an error to userspace.
Signed-off-by: André Almeida
---
include/linux/shmem_fs.h | 1 +
mm/shmem.c
setup!
Casefold support in tmpfs is disabled by default.
Thanks,
André
André Almeida (4):
Revert "libfs: unexport generic_ci_d_compare() and
generic_ci_d_hash()"
mm: shmem: Support case-insensitive file name lookups
mm: shmem: Add IOCTL support for tmpfs
docs: tmpfs
Hi Ted,
Às 12:01 de 04/03/21, Theodore Ts'o escreveu:
On Wed, Mar 03, 2021 at 09:42:06PM -0300, André Almeida wrote:
** Performance
- For comparing futex() and futex2() performance, I used the artificial
benchmarks implemented at perf (wake, wake-parallel, hash and
requeue)
Hi Peter,
Às 02:44 de 04/03/21, Peter Oskolkov escreveu:
On Wed, Mar 3, 2021 at 5:22 PM André Almeida wrote:
Hi,
This patch series introduces the futex2 syscalls.
* FAQ
** "And what's about FUTEX_64?"
By supporting 64 bit futexes, the kernel structure for futex would
will trigger a harmless noop wakeup on the interface
that it isn't using.
Signed-off-by: André Almeida
---
This commit is here for the intend to show what we need to do in order
to get a full NPTL working on top of futex2. It should be merged after
we talk to glibc folks on the details aroun
Add support at the existing futex benchmarking code base to enable
futex2 calls. `perf bench` tests can be used not only as a way to
measure the performance of implementation, but also as stress testing
for the kernel infrastructure.
Signed-off-by: André Almeida
---
tools/arch/x86/include/asm
Add testing for futex_requeue(). The first test just requeue from one
waiter to another one, and wake it. The second performs both wake and
requeue, and we check return values to see if the operation
woke/requeued the expected number of waiters.
Signed-off-by: André Almeida
---
.../selftests
Create a new file to test the waitv mechanism. Test both private and
shared futexes. Wake the last futex in the array, and check if the
return value from futex_waitv() is the right index.
Signed-off-by: André Almeida
---
.../selftests/futex/functional/.gitignore | 1 +
.../selftests/futex
Adapt existing futex wait wouldblock file to test the same mechanism for
futex2.
Signed-off-by: André Almeida
---
.../futex/functional/futex_wait_wouldblock.c | 33 ---
1 file changed, 29 insertions(+), 4 deletions(-)
diff --git a/tools/testing/selftests/futex/functional
more tests can evaluate futex2. While 32bit ABIs
from glibc aren't yet able to use 64 bit sized time variables, add a
temporary workaround that implements the required types and calls the
appropriated syscalls, since futex2 doesn't supports 32 bit sized time.
Signed-off-by: And
Add a new documentation file specifying both userspace API and internal
implementation details of futex2 syscalls.
Signed-off-by: André Almeida
---
Documentation/locking/futex2.rst | 198 +++
Documentation/locking/index.rst | 1 +
2 files changed, 199 insertions
Adapt existing futex wait timeout file to test the same mechanism for
futex2. futex2 accepts only absolute 64bit timers, but supports both
monotonic and realtime clocks.
Signed-off-by: André Almeida
---
.../futex/functional/futex_wait_timeout.c | 58 ---
1 file changed, 49
New syscalls should use the same entry point for x86_64 and x86_x32
paths. Add a wrapper for x32 calls to use parse functions that assumes
32bit pointers.
Signed-off-by: André Almeida
---
kernel/futex2.c | 42 +++---
1 file changed, 35 insertions(+), 7
it
(if it’s the first awakened, if it is of the smaller index...).
Signed-off-by: André Almeida
---
arch/arm/tools/syscall.tbl| 1 +
arch/arm64/include/asm/unistd.h | 2 +-
arch/arm64/include/asm/unistd32.h | 2 +
arch/x86/entry/syscalls
de otherwise.
Signed-off-by: André Almeida
---
The original FUTEX_CMP_REQUEUE interfaces is such as follows:
futex(*uaddr1, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, *uaddr2, cmpval);
Given that when this interface was created they was only one type of
futex (as opposed to futex2, where there is s
r name or type that matches
the original data, we only need to care about the bitsize of each
component and make both private and shared data fit in the same memory
space.
Signed-off-by: André Almeida
---
fs/inode.c | 1 +
include/linux/fs.h | 1 +
include/uapi/linux/fut
ropped _carefull from linked list function calls
- Fixed typos on docs patch
- uAPI flags are now added as features are introduced, instead of all flags
in patch 1
- Removed struct futex_single_waiter in favor of an anon struct
v1:
https://lore.kernel.org/lkml/20210215152404.250281-1-and
`timo` argument
As per the Y2038 work done in the kernel, new interfaces shouldn't add
timeout options known to be buggy. Given that, `timo` should be a 64bit
timeout at all platforms, using an absolute timeout value.
Signed-off-by: André Almeida
---
MAINTAINERS
Hi Peter,
Às 06:02 de 16/02/21, Peter Zijlstra escreveu:
On Mon, Feb 15, 2021 at 12:23:52PM -0300, André Almeida wrote:
+static int __futex_wait(struct futexv_head *futexv, unsigned int nr_futexes,
+ struct hrtimer_sleeper *timeout)
+{
+ int ret;
+
+ while (1
Hi Randy,
Thanks for the feedback. All suggestions/fixes were applied for next
version.
Às 15:34 de 16/02/21, Randy Dunlap escreveu:
On 2/15/21 7:23 AM, André Almeida wrote:
Add a new documentation file specifying both userspace API and internal
implementation details of futex2 syscalls
Hi Gabriel,
Às 16:59 de 15/02/21, Gabriel Krisman Bertazi escreveu:
André Almeida writes:
+/**
+ * struct futexv_head - List of futexes to be waited
+ * @task:Task to be awaken
+ * @hint:Was someone on this list awakened?
+ * @objects: List of futexes
+ */
+struct futexv_head
will trigger a harmless noop wakeup on the interface
that it isn't using.
Signed-off-by: André Almeida
---
This commit is here for the intend to show what we need to do in order
to get a full NPTL working on top of futex2. It should be merged after
we talk to glibc folks on the details aroun
Adapt existing futex wait wouldblock file to test the same mechanism for
futex2.
Signed-off-by: André Almeida
---
.../futex/functional/futex_wait_wouldblock.c | 33 ---
1 file changed, 29 insertions(+), 4 deletions(-)
diff --git a/tools/testing/selftests/futex/functional
Add support at the existing futex benchmarking code base to enable
futex2 calls. `perf bench` tests can be used not only as a way to
measure the performance of implementation, but also as stress testing
for the kernel infrastructure.
Signed-off-by: André Almeida
---
tools/arch/x86/include/asm
Create a new file to test the waitv mechanism. Test both private and
shared futexes. Wake the last futex in the array, and check if the
return value from futex_waitv() is the right index.
Signed-off-by: André Almeida
---
.../selftests/futex/functional/.gitignore | 1 +
.../selftests/futex
Add testing for futex_requeue(). The first test just requeue from one
waiter to another one, and wake it. The second performs both wake and
requeue, and we check return values to see if the operation
woke/requeued the expected number of waiters.
Signed-off-by: André Almeida
---
.../selftests
New syscalls should use the same entry point for x86_64 and x86_x32
paths. Add a wrapper for x32 calls to use parse functions that assumes
32bit pointers.
Signed-off-by: André Almeida
---
kernel/futex2.c | 42 +++---
1 file changed, 35 insertions(+), 7
more tests can evaluate futex2. While 32bit ABIs
from glibc aren't yet able to use 64 bit sized time variables, add a
temporary workaround that implements the required types and calls the
appropriated syscalls, since futex2 doesn't supports 32 bit sized time.
Signed-off-by: And
Adapt existing futex wait timeout file to test the same mechanism for
futex2. futex2 accepts only absolute 64bit timers, but supports both
monotonic and realtime clocks.
Signed-off-by: André Almeida
---
.../futex/functional/futex_wait_timeout.c | 58 ---
1 file changed, 49
Add a new documentation file specifying both userspace API and internal
implementation details of futex2 syscalls.
Signed-off-by: André Almeida
---
Documentation/locking/futex2.rst | 198 +++
Documentation/locking/index.rst | 1 +
2 files changed, 199 insertions
de otherwise.
Signed-off-by: André Almeida
---
The original FUTEX_CMP_REQUEUE interfaces is such as follows:
futex(*uaddr1, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, *uaddr2, cmpval);
Given that when this interface was created they was only one type of
futex (as opposed to futex2, where there is s
it
(if it’s the first awakened, if it is of the smaller index...).
Signed-off-by: André Almeida
---
arch/arm/tools/syscall.tbl| 1 +
arch/arm64/include/asm/unistd.h | 2 +-
arch/x86/entry/syscalls/syscall_32.tbl| 1 +
arch/x86/entry/syscalls
r name or type that matches
the original data, we only need to care about the bitsize of each
component and make both private and shared data fit in the same memory
space.
Signed-off-by: André Almeida
---
fs/inode.c | 1 +
include/linux/fs.h | 1
`timo` argument
As per the Y2038 work done in the kernel, new interfaces shouldn't add
timeout options known to be buggy. Given that, `timo` should be a 64bit
timeout at all platforms, using an absolute timeout value.
Signed-off-by: André Almeida
---
MAINTAINERS
t;simple" futex interface, that doesn't use PI or robust. Do we want
to have this complexity at futex2() and if so, should it be part of
this patchset or can it be future work?
Thanks,
André
André Almeida (13):
futex2: Implement wait and wake functions
futex2: Add support fo
on to reflect this.
Cc: Dominik Brodowski
Fixes: 819671ff849b ("syscalls: define and explain goal to not call syscalls in
the kernel")
Signed-off-by: André Almeida
---
Documentation/process/adding-syscalls.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Docume
Since commit 9bba03d4473d ("kconfig: remove 'kvmconfig' and 'xenconfig'
shorthands") kvm/xen config shortcuts are not available anymore. Update
the file to reflect how they should be used, with the full filename.
Signed-off-by: André Almeida
---
Documentat
o, that automatically
> convert:
> struct foo
>
> into cross-references, let's get rid of that, solving
> several warnings when building docs with Sphinx 3.x.
>
> Signed-off-by: Mauro Carvalho Chehab
> ---
> Documentation/block/blk-mq.rst |
is file is "blk-mq.rst".
>
> Signed-off-by: Mauro Carvalho Chehab
After solving the issue above:
Reviewed-by: André Almeida
> ---
> Documentation/block/blk-mq.rst | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/b
Hi Randy,
On 8/16/20 7:25 PM, Randy Dunlap wrote:
> Fix a new kernel-doc warning in block/blk-mq.c:
>
> ../block/blk-mq.c:1844: warning: Function parameter or member 'at_head' not
> described in 'blk_mq_request_bypass_insert'
>
> Fixes: 105663f73e71 ("blk-mq: Document functions for sending requ
As stated in https://sourceforge.net/projects/fuse/, "the FUSE project has
moved to https://github.com/libfuse/"; in 22-Dec-2015. Update URLs to
reflect this.
Signed-off-by: André Almeida
---
Documentation/filesystems/fuse.rst | 2 +-
MAINTAINERS| 2 +-
fs/fu
Signed-off-by: Miklos Szeredi
Signed-off-by: André Almeida
---
fs/fuse/dev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 5c155437a455..ec02c3240176 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -771,7 +771,8 @@ static int fuse_
The following commit has been merged into the locking/core branch of tip:
Commit-ID: 9261308598ad28b9a8a2237d881833e9f217244e
Gitweb:
https://git.kernel.org/tip/9261308598ad28b9a8a2237d881833e9f217244e
Author:André Almeida
AuthorDate:Thu, 02 Jul 2020 17:28:43 -03:00
The following commit has been merged into the locking/core branch of tip:
Commit-ID: 9a71df495c3d29dab596bb590e73fd8b20106e2d
Gitweb:
https://git.kernel.org/tip/9a71df495c3d29dab596bb590e73fd8b20106e2d
Author:André Almeida
AuthorDate:Thu, 02 Jul 2020 17:28:42 -03:00
On 7/17/20 6:46 PM, Thomas Gleixner wrote:
> André Almeida writes:
>
>> Since 82af7aca ("Removal of FUTEX_FD"), some includes related to file
>> operations aren't needed anymore. More investigation around the includes
>> showed that a lot of includes ar
The following commit has been merged into the locking/core branch of tip:
Commit-ID: d7c5ed73b19c4640426d9c106f70ec2cb532034d
Gitweb:
https://git.kernel.org/tip/d7c5ed73b19c4640426d9c106f70ec2cb532034d
Author:André Almeida
AuthorDate:Thu, 02 Jul 2020 17:28:41 -03:00
The following commit has been merged into the locking/core branch of tip:
Commit-ID: 2f3cc106873cb8234300c381a96b0b0e4ba63ab9
Gitweb:
https://git.kernel.org/tip/2f3cc106873cb8234300c381a96b0b0e4ba63ab9
Author:André Almeida
AuthorDate:Thu, 02 Jul 2020 17:28:43 -03:00
The following commit has been merged into the locking/core branch of tip:
Commit-ID: 38aa3c15b3a422e117a1f687a6dbcb5afd92cfc2
Gitweb:
https://git.kernel.org/tip/38aa3c15b3a422e117a1f687a6dbcb5afd92cfc2
Author:André Almeida
AuthorDate:Thu, 02 Jul 2020 17:28:42 -03:00
The following commit has been merged into the locking/core branch of tip:
Commit-ID: 9180bd467f9abdb44afde650d07e3b9dd66d837c
Gitweb:
https://git.kernel.org/tip/9180bd467f9abdb44afde650d07e3b9dd66d837c
Author:André Almeida
AuthorDate:Thu, 02 Jul 2020 17:28:40 -03:00
Commit 95ca6d73a8a97 ("docs: move locking-specific documents to
locking/") accidentally replaced the selftests line for a duplicated
documentation one. Revert this change.
Signed-off-by: André Almeida
---
MAINTAINERS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
di
Hi
On 7/10/20 10:23 AM, Oleksandr Natalenko wrote:
> Hello.
>
> On 09.07.2020 19:59, André Almeida wrote:
>> This RFC is a followup to the previous discussion initiated from my last
>> patch "futex: Implement mechanism to wait on any of several futexes"[1].
Hello,
On 7/9/20 9:09 PM, Randy Dunlap wrote:
> Hi,
>
> On 7/9/20 10:59 AM, André Almeida wrote:
>>
>>
>> diff --git a/kernel/futex2.c b/kernel/futex2.c
>> new file mode 100644
>> index ..b87a10ba7c01
>> --- /dev/null
>> +++ b/kern
Adapt existing futex wait wouldblock file to test the same mechanism for
futex2.
Signed-off-by: André Almeida
---
.../futex/functional/futex_wait_wouldblock.c | 33 ---
1 file changed, 29 insertions(+), 4 deletions(-)
diff --git a/tools/testing/selftests/futex/functional
the new interface, those failures were expected.
All kernel selftests were successful.
[1] https://gitlab.collabora.com/tonyk/linux/-/commits/futex2
[2] https://lore.kernel.org/patchwork/patch/1194339/
[3] https://gitlab.collabora.com/tonyk/glibc/-/commits/futex2
Signed-off-by: André
Adapt existing futex wait timeout file to test the same mechanism for
futex2.
Signed-off-by: André Almeida
---
.../futex/functional/futex_wait_timeout.c | 38 ++-
1 file changed, 29 insertions(+), 9 deletions(-)
diff --git a/tools/testing/selftests/futex/functional
calls, since futex2 doesn't supports 32 bit sized time.
Signed-off-by: André Almeida
---
tools/include/uapi/asm-generic/unistd.h | 7 +-
.../selftests/futex/functional/.gitignore | 1 +
.../selftests/futex/functional/Makefile | 4 +-
.../selftests/futex/functional/fut
2 interface was removed
v1: https://lore.kernel.org/patchwork/cover/1255437/
[1] https://lore.kernel.org/patchwork/patch/1194339/
André Almeida (4):
futex2: Add new futex interface
selftests: futex: Add futex2 wake/wait test
selftests: futex: Add futex2 timeout test
selftests: futex: Add fu
Since fshared is meant to true/false values, declare it as bool. If the
code ever reaches the code beneath again label, we are sure that the
futex is shared, so we can use the true value instead of the variable.
Signed-off-by: André Almeida
---
kernel/futex.c | 9 +
1 file changed, 5
ed
includes.
Signed-off-by: André Almeida
---
To test this code, I compiled with different configurations (x86_64,
i386, with x32 ABI supported enabled/disabled), and ran futex selftests.
---
kernel/futex.c | 18 --
1 file changed, 18 deletions(-)
diff --git a/kernel/futex.c b/
Since 4b39f99c ("futex: Remove {get,drop}_futex_key_refs()"),
function put_futex_key() is empty. Remove all references for this
function and redundant labels.
Signed-off-by: André Almeida
---
kernel/futex.c | 61 ++
1 file changed, 12
th the
result of the operation when is logically possible to determine it by
the control flow.
[1]
https://www.kernel.org/doc/html/latest/process/coding-style.html#centralized-exiting-of-functions
Signed-off-by: André Almeida
---
kernel/futex.c | 40
Hello,
This series aims to make some small code improvements that I found in
futex.c, removing some lines and trying to make the code easier to read
and understand.
All commits tested with futex tests from kselftest.
Thanks,
André
André Almeida (4):
futex: Remove put_futex_key
Hello Arnd,
On 6/25/20 3:48 AM, Arnd Bergmann wrote:
> On Fri, Jun 12, 2020 at 8:51 PM André Almeida
> wrote:
>
>> - The proposed interface uses ktime_t type for absolute timeout, and I
>> assumed that it should use values in a nsec resolution. If this is true,
>&
y Axboe et al.
Acked-by: Randy Dunlap
Signed-off-by: André Almeida
---
Change from v4:
- blk_mq_ctx represents software stating queues, not requests
- Reworded collection of BIOs to one or more BIOs
- Replace NOOP scheduler with NONE scheduler.
Changes from v2:
- More fixed typos
- Once again, re
On 6/19/20 5:56 PM, Jens Axboe wrote:
> On 6/19/20 2:01 PM, André Almeida wrote:
>> Create a documentation providing a background and explanation around the
>> operation of the Multi-Queue Block IO Queueing Mechanism (blk-mq).
>>
>> The reference for writing this docume
On 6/19/20 5:49 PM, Jens Axboe wrote:
> On 6/19/20 1:47 PM, Randy Dunlap wrote:
>> On 6/19/20 12:45 PM, Jonathan Corbet wrote:
>>> On Fri, 5 Jun 2020 14:55:36 -0300
>>> André Almeida wrote:
>>>
>>>> Create a documentation providing a background
y Axboe et al.
Signed-off-by: André Almeida
---
Changes from v2:
- More fixed typos
- Once again, reworked the definition of `blk_mq_hw_ctx` in "Hardware
dispatch queues" section
Changes from v1:
- Fixed typos
- Reworked blk_mq_hw_ctx
Hello,
This commit was tested using "ma
On 6/15/20 9:15 PM, Randy Dunlap wrote:
> Hi,
> I have a few more editing comments for you (below):
>
> On 6/5/20 10:55 AM, André Almeida wrote:
>> Create a documentation providing a background and explanation around the
>> operation of the Multi-Queue Block IO Qu
On 6/5/20 8:45 PM, Dongli Zhang wrote:
> Hi André,
>
> On 6/5/20 10:55 AM, André Almeida wrote:
>> Create a documentation providing a background and explanation around the
>> operation of the Multi-Queue Block IO Queueing Mechanism (blk-mq).
>>
>> The reference f
Hello H.J.,
On 6/12/20 4:35 PM, H.J. Lu wrote:
> On Fri, Jun 12, 2020 at 11:53 AM André Almeida via Libc-alpha
> wrote:
>> - Is expected to have a x32 ABI implementation as well? In the case of
>> wait and wake, we could use the same as x86_64 ABI. However, for the
>&
Adapt existing futex wait wouldblock file to test the same mechanism for
futex2.
Signed-off-by: André Almeida
---
.../futex/functional/futex_wait_wouldblock.c | 34 ---
1 file changed, 29 insertions(+), 5 deletions(-)
diff --git a/tools/testing/selftests/futex/functional
16)));
u64 hint;
};
Thanks,
André
André Almeida (4):
futex2: Add new futex interface
selftests: futex: Add futex2 wake/wait test
selftests: futex: Add futex2 timeout test
selftests: futex: Add futex2 wouldblock test
MAINTAINERS | 2 +-
linux/-/commits/futex2
[2] https://lore.kernel.org/patchwork/patch/1194339/
[3] https://gitlab.collabora.com/tonyk/glibc/-/commits/futex2
Signed-off-by: André Almeida
---
MAINTAINERS| 2 +-
arch/x86/entry/syscalls/syscall_32.tbl | 2 +
arch/x86/entry/syscalls/syscall_64.
Add a simple test to test wake/wait mechanism using futex2 interface.
Create helper files so more tests can evaluate futex2.
Signed-off-by: André Almeida
---
tools/include/uapi/asm-generic/unistd.h | 7 +-
.../selftests/futex/functional/.gitignore | 1 +
.../selftests/futex
Adapt existing futex wait timeout file to test the same mechanism for
futex2.
Signed-off-by: André Almeida
---
.../futex/functional/futex_wait_timeout.c | 27 ---
1 file changed, 23 insertions(+), 4 deletions(-)
diff --git a/tools/testing/selftests/futex/functional
y Axboe et al.
Signed-off-by: André Almeida
---
Changes from v1:
- Fixed typos
- Reworked blk_mq_hw_ctx
Hello,
This commit was tested using "make htmldocs" and the HTML output has
been verified.
Thanks,
André
---
Documentation/bl
1 - 100 of 161 matches
Mail list logo