- On Oct 23, 2017, at 7:30 PM, Ben Maurer bmau...@fb.com wrote:
>> if (!((long)ip - (long)start_ip <= (long)post_commit_offset))
>> return 1;
>
>> This introduces an issue here: if "ip" is lower than "start_ip", we
>> can incorrectly think we are in a critical section, when we are in
>>
- On Oct 23, 2017, at 7:30 PM, Ben Maurer bmau...@fb.com wrote:
>> if (!((long)ip - (long)start_ip <= (long)post_commit_offset))
>> return 1;
>
>> This introduces an issue here: if "ip" is lower than "start_ip", we
>> can incorrectly think we are in a critical section, when we are in
>>
> if (!((long)ip - (long)start_ip <= (long)post_commit_offset))
> return 1;
> This introduces an issue here: if "ip" is lower than "start_ip", we
> can incorrectly think we are in a critical section, when we are in
> fact not.
This shouldn't be an issue if we used unsigned numbers. Eg if
> if (!((long)ip - (long)start_ip <= (long)post_commit_offset))
> return 1;
> This introduces an issue here: if "ip" is lower than "start_ip", we
> can incorrectly think we are in a critical section, when we are in
> fact not.
This shouldn't be an issue if we used unsigned numbers. Eg if
* Mathieu Desnoyers:
> Speaking of optimization, I think the rseq.c helper library
> (and eventually glibc) should define the __rseq_abi TLS
> variable with __attribute__((tls_model("initial-exec"))).
> It provides faster, and signal-safe, accesses to the TLS
> variable from libraries.
>
> The
* Mathieu Desnoyers:
> Speaking of optimization, I think the rseq.c helper library
> (and eventually glibc) should define the __rseq_abi TLS
> variable with __attribute__((tls_model("initial-exec"))).
> It provides faster, and signal-safe, accesses to the TLS
> variable from libraries.
>
> The
Speaking of optimization, I think the rseq.c helper library
(and eventually glibc) should define the __rseq_abi TLS
variable with __attribute__((tls_model("initial-exec"))).
It provides faster, and signal-safe, accesses to the TLS
variable from libraries.
The idea you were suggesting where the
Speaking of optimization, I think the rseq.c helper library
(and eventually glibc) should define the __rseq_abi TLS
variable with __attribute__((tls_model("initial-exec"))).
It provides faster, and signal-safe, accesses to the TLS
variable from libraries.
The idea you were suggesting where the
- On Oct 18, 2017, at 12:41 PM, Ben Maurer bmau...@fb.com wrote:
>> The layout of struct rseq_cs is as follows:
>
>> start_ip
>> Instruction pointer address of the first instruction of the
>> sequence of consecutive assembly instructions.
>
>> post_commit_ip
>> Instruction pointer address
- On Oct 18, 2017, at 12:41 PM, Ben Maurer bmau...@fb.com wrote:
>> The layout of struct rseq_cs is as follows:
>
>> start_ip
>> Instruction pointer address of the first instruction of the
>> sequence of consecutive assembly instructions.
>
>> post_commit_ip
>> Instruction pointer address
> The layout of struct rseq_cs is as follows:
> start_ip
> Instruction pointer address of the first instruction of the
> sequence of consecutive assembly instructions.
> post_commit_ip
> Instruction pointer address after the last instruction of
> the sequence of consecutive assembly
> The layout of struct rseq_cs is as follows:
> start_ip
> Instruction pointer address of the first instruction of the
> sequence of consecutive assembly instructions.
> post_commit_ip
> Instruction pointer address after the last instruction of
> the sequence of consecutive assembly
- On Oct 18, 2017, at 2:22 AM, Greg Kroah-Hartman
gre...@linuxfoundation.org wrote:
> On Tue, Oct 17, 2017 at 04:19:41PM +, Ben Maurer wrote:
>> Hey,
>>
>> > So far the restrictions I see for libraries using this symbol are:
>> > - They should never be unloaded,
>> > - They should never
- On Oct 18, 2017, at 2:22 AM, Greg Kroah-Hartman
gre...@linuxfoundation.org wrote:
> On Tue, Oct 17, 2017 at 04:19:41PM +, Ben Maurer wrote:
>> Hey,
>>
>> > So far the restrictions I see for libraries using this symbol are:
>> > - They should never be unloaded,
>> > - They should never
On Tue, Oct 17, 2017 at 04:19:41PM +, Ben Maurer wrote:
> Hey,
>
> > So far the restrictions I see for libraries using this symbol are:
> > - They should never be unloaded,
> > - They should never be loaded with dlopen RTLD_LOCAL flag.
>
> We talked a bit about this off-list but I wanted to
On Tue, Oct 17, 2017 at 04:19:41PM +, Ben Maurer wrote:
> Hey,
>
> > So far the restrictions I see for libraries using this symbol are:
> > - They should never be unloaded,
> > - They should never be loaded with dlopen RTLD_LOCAL flag.
>
> We talked a bit about this off-list but I wanted to
- On Oct 17, 2017, at 12:41 PM, Ben Maurer bmau...@fb.com wrote:
>> I have a use-case for keeping the reference counting in place though. It's
>> use of rseq in signal handlers.
>
> Would this be solved by saying that the rseq api will return an error if you
> register and there's already a
- On Oct 17, 2017, at 12:41 PM, Ben Maurer bmau...@fb.com wrote:
>> I have a use-case for keeping the reference counting in place though. It's
>> use of rseq in signal handlers.
>
> Would this be solved by saying that the rseq api will return an error if you
> register and there's already a
> I have a use-case for keeping the reference counting in place though. It's
> use of rseq in signal handlers.
Would this be solved by saying that the rseq api will return an error if you
register and there's already a block registered. In this case the signal
handler would register the rseq
> I have a use-case for keeping the reference counting in place though. It's
> use of rseq in signal handlers.
Would this be solved by saying that the rseq api will return an error if you
register and there's already a block registered. In this case the signal
handler would register the rseq
- On Oct 17, 2017, at 12:19 PM, Ben Maurer bmau...@fb.com wrote:
> Hey,
>
>> So far the restrictions I see for libraries using this symbol are:
>> - They should never be unloaded,
>> - They should never be loaded with dlopen RTLD_LOCAL flag.
>
> We talked a bit about this off-list but I
- On Oct 17, 2017, at 12:19 PM, Ben Maurer bmau...@fb.com wrote:
> Hey,
>
>> So far the restrictions I see for libraries using this symbol are:
>> - They should never be unloaded,
>> - They should never be loaded with dlopen RTLD_LOCAL flag.
>
> We talked a bit about this off-list but I
Hey,
> So far the restrictions I see for libraries using this symbol are:
> - They should never be unloaded,
> - They should never be loaded with dlopen RTLD_LOCAL flag.
We talked a bit about this off-list but I wanted to state publicly that I think
this model works well for our use case.
Hey,
> So far the restrictions I see for libraries using this symbol are:
> - They should never be unloaded,
> - They should never be loaded with dlopen RTLD_LOCAL flag.
We talked a bit about this off-list but I wanted to state publicly that I think
this model works well for our use case.
- On Oct 16, 2017, at 12:46 PM, Andi Kleen a...@firstfloor.org wrote:
>> How you collect, summarize, and analyze that overwhelming evidence
>> is up to you, specific to each change, and difficult to do accurately
>> and with any large measure of statistical confidence. The reviewer
>> has to
- On Oct 16, 2017, at 12:46 PM, Andi Kleen a...@firstfloor.org wrote:
>> How you collect, summarize, and analyze that overwhelming evidence
>> is up to you, specific to each change, and difficult to do accurately
>> and with any large measure of statistical confidence. The reviewer
>> has to
> How you collect, summarize, and analyze that overwhelming evidence
> is up to you, specific to each change, and difficult to do accurately
> and with any large measure of statistical confidence. The reviewer
> has to basically trust you to some degree :-)
I think Linus' just asked for some
> How you collect, summarize, and analyze that overwhelming evidence
> is up to you, specific to each change, and difficult to do accurately
> and with any large measure of statistical confidence. The reviewer
> has to basically trust you to some degree :-)
I think Linus' just asked for some
On 10/13/2017 02:36 PM, Mathieu Desnoyers wrote:
> I also spoke to Carlos O'Donell from glibc about it, and he was very
> excited about the possible use of rseq for malloc speedup/memory usage
> improvement. But again, I don't see a project like glibc starting to
> use a system call for which the
On 10/13/2017 02:36 PM, Mathieu Desnoyers wrote:
> I also spoke to Carlos O'Donell from glibc about it, and he was very
> excited about the possible use of rseq for malloc speedup/memory usage
> improvement. But again, I don't see a project like glibc starting to
> use a system call for which the
- On Oct 13, 2017, at 2:17 PM, Andy Lutomirski l...@amacapital.net wrote:
> On Fri, Oct 13, 2017 at 10:53 AM, Florian Weimer wrote:
>> On 10/13/2017 07:24 PM, Andy Lutomirski wrote:
>>>
>>> On Fri, Oct 13, 2017 at 7:27 AM, Mathieu Desnoyers
>>>
- On Oct 13, 2017, at 2:17 PM, Andy Lutomirski l...@amacapital.net wrote:
> On Fri, Oct 13, 2017 at 10:53 AM, Florian Weimer wrote:
>> On 10/13/2017 07:24 PM, Andy Lutomirski wrote:
>>>
>>> On Fri, Oct 13, 2017 at 7:27 AM, Mathieu Desnoyers
>>> wrote:
- On Oct 13, 2017, at
- On Oct 14, 2017, at 12:05 AM, Linus Torvalds
torva...@linux-foundation.org wrote:
> On Fri, Oct 13, 2017 at 8:01 PM, Andi Kleen wrote:
>>
>> As far as I can see the current model fundamentally only works for
>> one user per process (because there is only a single
- On Oct 14, 2017, at 12:05 AM, Linus Torvalds
torva...@linux-foundation.org wrote:
> On Fri, Oct 13, 2017 at 8:01 PM, Andi Kleen wrote:
>>
>> As far as I can see the current model fundamentally only works for
>> one user per process (because there is only a single range and abort IP)
>
>
On Fri, Oct 13, 2017 at 8:01 PM, Andi Kleen wrote:
>
> As far as I can see the current model fundamentally only works for
> one user per process (because there is only a single range and abort IP)
No, it should work for libraries, you just need to always initialize
the
On Fri, Oct 13, 2017 at 8:01 PM, Andi Kleen wrote:
>
> As far as I can see the current model fundamentally only works for
> one user per process (because there is only a single range and abort IP)
No, it should work for libraries, you just need to always initialize
the proper start/commit/abort
> That sounds so obvious and stupid that you might go "What do you
> mean?", but for things to work for libraries, they have to work
> together with *other* users, and with *independent* users.
As far as I can see the current model fundamentally only works for
one user per process (because there
> That sounds so obvious and stupid that you might go "What do you
> mean?", but for things to work for libraries, they have to work
> together with *other* users, and with *independent* users.
As far as I can see the current model fundamentally only works for
one user per process (because there
- On Oct 13, 2017, at 5:05 PM, Linus Torvalds torva...@linux-foundation.org
wrote:
> On Fri, Oct 13, 2017 at 1:54 PM, Paul E. McKenney
> wrote:
>>>
>>> And if nobody can be bothered to write the user-level code and test
>>> this patch-series, then obviously it's
- On Oct 13, 2017, at 5:05 PM, Linus Torvalds torva...@linux-foundation.org
wrote:
> On Fri, Oct 13, 2017 at 1:54 PM, Paul E. McKenney
> wrote:
>>>
>>> And if nobody can be bothered to write the user-level code and test
>>> this patch-series, then obviously it's not important enough for the
On Fri, Oct 13, 2017 at 02:05:50PM -0700, Linus Torvalds wrote:
> On Fri, Oct 13, 2017 at 1:54 PM, Paul E. McKenney
> wrote:
> >>
> >> And if nobody can be bothered to write the user-level code and test
> >> this patch-series, then obviously it's not important enough
On Fri, Oct 13, 2017 at 02:05:50PM -0700, Linus Torvalds wrote:
> On Fri, Oct 13, 2017 at 1:54 PM, Paul E. McKenney
> wrote:
> >>
> >> And if nobody can be bothered to write the user-level code and test
> >> this patch-series, then obviously it's not important enough for the
> >> kernel to merge
On Fri, Oct 13, 2017 at 1:54 PM, Paul E. McKenney
wrote:
>>
>> And if nobody can be bothered to write the user-level code and test
>> this patch-series, then obviously it's not important enough for the
>> kernel to merge it.
>
> My guess is that it will take some time,
On Fri, Oct 13, 2017 at 1:54 PM, Paul E. McKenney
wrote:
>>
>> And if nobody can be bothered to write the user-level code and test
>> this patch-series, then obviously it's not important enough for the
>> kernel to merge it.
>
> My guess is that it will take some time, probably measured in
On Fri, Oct 13, 2017 at 11:30:29AM -0700, Linus Torvalds wrote:
> On Fri, Oct 13, 2017 at 2:35 AM, Ben Maurer wrote:
> >
> > I'm really excited to hear that you're open to this patch set and totally
> > understand the desire for some more numbers.
>
> So the patch-set actually
On Fri, Oct 13, 2017 at 11:30:29AM -0700, Linus Torvalds wrote:
> On Fri, Oct 13, 2017 at 2:35 AM, Ben Maurer wrote:
> >
> > I'm really excited to hear that you're open to this patch set and totally
> > understand the desire for some more numbers.
>
> So the patch-set actually looks very
On Fri, Oct 13, 2017 at 2:35 AM, Ben Maurer wrote:
>
> I'm really excited to hear that you're open to this patch set and totally
> understand the desire for some more numbers.
So the patch-set actually looks very reasonable today. I looked
through it (ok, I wasn't cc'd on the
On Fri, Oct 13, 2017 at 2:35 AM, Ben Maurer wrote:
>
> I'm really excited to hear that you're open to this patch set and totally
> understand the desire for some more numbers.
So the patch-set actually looks very reasonable today. I looked
through it (ok, I wasn't cc'd on the ppc-only patches
On Fri, Oct 13, 2017 at 10:53 AM, Florian Weimer wrote:
> On 10/13/2017 07:24 PM, Andy Lutomirski wrote:
>>
>> On Fri, Oct 13, 2017 at 7:27 AM, Mathieu Desnoyers
>> wrote:
>>>
>>> - On Oct 13, 2017, at 9:56 AM, Florian Weimer
On Fri, Oct 13, 2017 at 10:53 AM, Florian Weimer wrote:
> On 10/13/2017 07:24 PM, Andy Lutomirski wrote:
>>
>> On Fri, Oct 13, 2017 at 7:27 AM, Mathieu Desnoyers
>> wrote:
>>>
>>> - On Oct 13, 2017, at 9:56 AM, Florian Weimer fwei...@redhat.com
>>> wrote:
>>>
On 10/13/2017 03:40 PM,
On 10/13/2017 07:24 PM, Andy Lutomirski wrote:
On Fri, Oct 13, 2017 at 7:27 AM, Mathieu Desnoyers
wrote:
- On Oct 13, 2017, at 9:56 AM, Florian Weimer fwei...@redhat.com wrote:
On 10/13/2017 03:40 PM, Mathieu Desnoyers wrote:
The proposed ABI does not
On 10/13/2017 07:24 PM, Andy Lutomirski wrote:
On Fri, Oct 13, 2017 at 7:27 AM, Mathieu Desnoyers
wrote:
- On Oct 13, 2017, at 9:56 AM, Florian Weimer fwei...@redhat.com wrote:
On 10/13/2017 03:40 PM, Mathieu Desnoyers wrote:
The proposed ABI does not require to store any function
On Fri, Oct 13, 2017 at 7:27 AM, Mathieu Desnoyers
wrote:
> - On Oct 13, 2017, at 9:56 AM, Florian Weimer fwei...@redhat.com wrote:
>
>> On 10/13/2017 03:40 PM, Mathieu Desnoyers wrote:
>>> The proposed ABI does not require to store any function pointer. For a
On Fri, Oct 13, 2017 at 7:27 AM, Mathieu Desnoyers
wrote:
> - On Oct 13, 2017, at 9:56 AM, Florian Weimer fwei...@redhat.com wrote:
>
>> On 10/13/2017 03:40 PM, Mathieu Desnoyers wrote:
>>> The proposed ABI does not require to store any function pointer. For a given
>>> rseq_finish() critical
- On Oct 13, 2017, at 9:56 AM, Florian Weimer fwei...@redhat.com wrote:
> On 10/13/2017 03:40 PM, Mathieu Desnoyers wrote:
>> The proposed ABI does not require to store any function pointer. For a given
>> rseq_finish() critical section, pointers to specific instructions (within a
>>
- On Oct 13, 2017, at 9:56 AM, Florian Weimer fwei...@redhat.com wrote:
> On 10/13/2017 03:40 PM, Mathieu Desnoyers wrote:
>> The proposed ABI does not require to store any function pointer. For a given
>> rseq_finish() critical section, pointers to specific instructions (within a
>>
On 10/13/2017 03:40 PM, Mathieu Desnoyers wrote:
The proposed ABI does not require to store any function pointer. For a given
rseq_finish() critical section, pointers to specific instructions (within a
function) are emitted at link-time into a struct rseq_cs:
struct rseq_cs {
On 10/13/2017 03:40 PM, Mathieu Desnoyers wrote:
The proposed ABI does not require to store any function pointer. For a given
rseq_finish() critical section, pointers to specific instructions (within a
function) are emitted at link-time into a struct rseq_cs:
struct rseq_cs {
- On Oct 13, 2017, at 8:50 AM, Florian Weimer fwei...@redhat.com wrote:
> On 10/13/2017 01:03 AM, Mathieu Desnoyers wrote:
>> Expose a new system call allowing each thread to register one userspace
>> memory area to be used as an ABI between kernel and user-space for two
>> purposes:
- On Oct 13, 2017, at 8:50 AM, Florian Weimer fwei...@redhat.com wrote:
> On 10/13/2017 01:03 AM, Mathieu Desnoyers wrote:
>> Expose a new system call allowing each thread to register one userspace
>> memory area to be used as an ABI between kernel and user-space for two
>> purposes:
On 10/13/2017 01:03 AM, Mathieu Desnoyers wrote:
Expose a new system call allowing each thread to register one userspace
memory area to be used as an ABI between kernel and user-space for two
purposes: user-space restartable sequences and quick access to read the
current CPU number value from
On 10/13/2017 01:03 AM, Mathieu Desnoyers wrote:
Expose a new system call allowing each thread to register one userspace
memory area to be used as an ABI between kernel and user-space for two
purposes: user-space restartable sequences and quick access to read the
current CPU number value from
Hey,
I'm really excited to hear that you're open to this patch set and totally
understand the desire for some more numbers. I have a few thoughts and
questions -- hopefully ones that could help better understand where you'd like
to see more data (potentially from myself and other Facebook
Hey,
I'm really excited to hear that you're open to this patch set and totally
understand the desire for some more numbers. I have a few thoughts and
questions -- hopefully ones that could help better understand where you'd like
to see more data (potentially from myself and other Facebook
I do not hate this series, and I'd be happy to apply it, but I will
repeat what I've asked for EVERY SINGLE TIME this series has come up:
On Thu, Oct 12, 2017 at 4:03 PM, Mathieu Desnoyers
wrote:
>
> Here are benchmarks of counter increment in various scenarios
I do not hate this series, and I'd be happy to apply it, but I will
repeat what I've asked for EVERY SINGLE TIME this series has come up:
On Thu, Oct 12, 2017 at 4:03 PM, Mathieu Desnoyers
wrote:
>
> Here are benchmarks of counter increment in various scenarios compared
> to restartable
Expose a new system call allowing each thread to register one userspace
memory area to be used as an ABI between kernel and user-space for two
purposes: user-space restartable sequences and quick access to read the
current CPU number value from user-space.
* Restartable sequences (per-cpu
Expose a new system call allowing each thread to register one userspace
memory area to be used as an ABI between kernel and user-space for two
purposes: user-space restartable sequences and quick access to read the
current CPU number value from user-space.
* Restartable sequences (per-cpu
68 matches
Mail list logo