ep_pm_stay_awake(epi);
> + } else if (!(epi->event.events & EPOLLET)) {
> + ep_level_trigger(ep, epi);
> + continue;
> }
> }
> +
> + /*
>
* Eric Wong (normalper...@yhbt.net) wrote:
> Mathieu Desnoyers wrote:
> > * Eric Wong (normalper...@yhbt.net) wrote:
> > > Eric Wong wrote:
> > > > I'm posting this lightly tested version since I may not be able to do
> > > > more testing/ben
return ERR_PTR(-ENOMEM);
> > for (i = 0; old[i].func; i++)
> > - if (probe &&
> > - (old[i].func != probe || old[i].data != data))
> > + if (old[i].func != probe || old[i].data !
* Keun-O Park (kpark3...@gmail.com) wrote:
> On Thu, Mar 21, 2013 at 8:01 AM, Steven Rostedt wrote:
> > On Wed, 2013-03-20 at 14:01 -0400, Mathieu Desnoyers wrote:
> >> * Steven Rostedt (rost...@goodmis.org) wrote:
> >> > On Wed, 2013-03-20 at 12:18 +0900, kpark3...@
* Keun-O Park (kpark3...@gmail.com) wrote:
> On Thu, Mar 21, 2013 at 11:45 AM, Mathieu Desnoyers
> wrote:
> > * Keun-O Park (kpark3...@gmail.com) wrote:
> >> On Thu, Mar 21, 2013 at 8:01 AM, Steven Rostedt
> >> wrote:
> >> > On Wed, 2013-03-
exposed by the API.
Just for fun, I tried making your "prepend" wait-free (thus not
requiring a mutex), but it's really not obvious, because of its impact
on splice operation and dequeue-last-node operation.
Thoughts ?
Thanks,
Mathieu
>
> Signed-off-by: Eric Wong
>
point-probe-sample,cargo-cult}.c
> > or git mv samples cargo-cult...
>
> I wonder if we should just remove the samples/tracepoints/ all together.
> The tracepoint code is now only used internally by the trace_event code,
> and there should not be any users of tracepoints directly.
Y
re we give at least some info */
trace_lttng_statedump_file_descriptor(session, p, i,
IS_ERR(path) ?
filp->f_dentry->d_name.name :
path);
}
spin_unlock(&p-&
* Steven Rostedt (rost...@goodmis.org) wrote:
> On Fri, 2013-01-25 at 09:38 -0500, Mathieu Desnoyers wrote:
>
> > Yep, I'd be OK with removing this example, since now all users are
> > expected to user TRACE_EVENT(), which is built on top of tracepoints.
>
> Can
* Al Viro (v...@zeniv.linux.org.uk) wrote:
> On Fri, Jan 25, 2013 at 09:49:53AM -0500, Mathieu Desnoyers wrote:
> > static
> > void lttng_enumerate_task_fd(struct lttng_session *session,
> > struct task_struct *p, char *tmp)
> > {
> > struct
ling.
Acked-by: Linus Torvalds
Acked-by: Al Viro
Signed-off-by: Mathieu Desnoyers
---
fs/compat.c| 15 +++
mm/process_vm_access.c |8
security/keys/compat.c |4 ++--
3 files changed, 9 insertions(+), 18 deletions(-)
Index: li
Document that these functions expect access_ok() to be performed on
dirent between reception from user-space and call to these functions.
Signed-off-by: Mathieu Desnoyers
CC: Al Viro
---
fs/compat.c |4 ++--
fs/readdir.c | 14 +++---
2 files changed, 9 insertions(+), 9 deletions
* Marc MERLIN (m...@merlins.org) wrote:
> Howdy,
>
> I seem to have the same problem (or similar) as Mathieu Desnoyers in
> https://lkml.org/lkml/2013/2/22/437
>
> I can reliably get my SSD to drop from the SATA bus given the right workload
> on linux.
>
> How can I
are on the SSD might be part of the problem, but it might be good
if we could to confirm that Intel's firmwares work fine.
Thoughts, ideas, hints about who to contact on this issue would be very
much welcome,
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
--
To u
for the fs/bio.c one? I didn't follow all the call-chains...
The fs/bio.c issue is unrelated to this patch, so that separate issue
still stands. I did not get any feedback on that private RFC though.
Should I repost it CCing lkml ?
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
htt
* Eric Wong (normalper...@yhbt.net) wrote:
> Mathieu Desnoyers wrote:
> > Ported to the Linux kernel from Userspace RCU library, at commit
> > 108a92e5b97ee91b2b902dba2dd2e78aab42f420.
> >
> > Ref: http://git.lttng.org/userspace-rcu.git
> >
> > It is
-by: Mathieu Desnoyers
CC: Lai Jiangshan
CC: Paul E. McKenney
CC: Stephen Hemminger
CC: Davide Libenzi
CC: Eric Wong
---
include/linux/wfcqueue.h | 444 +++
1 file changed, 444 insertions(+)
Index: linux/include/linux/wfcqueue.h
is should be the
> only possibly-noticeable change (in case there's an app that blindly
> adds/deletes things from the rbtree but never calls epoll_wait)
>
> Barely-tested-by: Eric Wong
> Cc: Davide Libenzi
> Cc: Al Viro
> Cc: Andrew Morton
> Cc: Mathieu Desnoy
* Eric Wong (normalper...@yhbt.net) wrote:
> Mathieu Desnoyers wrote:
> > * Eric Wong (normalper...@yhbt.net) wrote:
> > > Mathieu Desnoyers wrote:
> > > > +/*
> > > > + * Load a data from shared memory.
> > > > + */
> &g
* Peter Hurley (pe...@hurleysoftware.com) wrote:
> On Mon, 2013-03-11 at 17:36 -0400, Mathieu Desnoyers wrote:
> > +/*
> > + * Do not put head and tail on the same cache-line if concurrent
> > + * enqueue/dequeue are expected from many CPUs. This eliminates
> > + * fa
* Eric Wong (normalper...@yhbt.net) wrote:
> Mathieu Desnoyers wrote:
> > * Eric Wong (normalper...@yhbt.net) wrote:
> > > Mathieu Desnoyers wrote:
> > > > The advantage of using splice() over dequeue() is that you will reduce
> > > > the amount of i
* Paul Bolle (pebo...@tiscali.nl) wrote:
> The tracepoint sample code got removed. Remove a few lines on its usage
> too.
>
> Signed-off-by: Paul Bolle
Thanks!
Acked-by: Mathieu Desnoyers
> ---
> Documentation/trace/tracepoints.txt | 15 ---
> 1 file
* Eric Wong (normalper...@yhbt.net) wrote:
> Eric Wong wrote:
> > Mathieu Desnoyers wrote:
> > > * Eric Wong (normalper...@yhbt.net) wrote:
> > > > Mathieu Desnoyers wrote:
> > > > > +/*
> > > > > + * Load a data from shared
* Sasha Levin (levinsasha...@gmail.com) wrote:
> On 08/25/2012 06:24 AM, Mathieu Desnoyers wrote:
> > * Tejun Heo (t...@kernel.org) wrote:
> >> Hello,
> >>
> >> On Sat, Aug 25, 2012 at 12:59:25AM +0200, Sasha Levin wrote:
> >>> Thats the thing,
* Sasha Levin (levinsasha...@gmail.com) wrote:
> On 08/28/2012 12:11 PM, Mathieu Desnoyers wrote:
> > * Sasha Levin (levinsasha...@gmail.com) wrote:
> >> On 08/25/2012 06:24 AM, Mathieu Desnoyers wrote:
> >>> * Tejun Heo (t...@kernel.org) wrote:
> >>>>
* Mathieu Desnoyers (mathieu.desnoy...@efficios.com) wrote:
> * Sasha Levin (levinsasha...@gmail.com) wrote:
> > On 08/28/2012 12:11 PM, Mathieu Desnoyers wrote:
> > > * Sasha Levin (levinsasha...@gmail.com) wrote:
> > >> On 08/25/2012 06:24 AM, Mathieu Desnoyers
* Steven Rostedt (rost...@goodmis.org) wrote:
> On Tue, 2012-08-28 at 19:00 -0400, Mathieu Desnoyers wrote:
>
> > Looking again at:
> >
> > +#define hash_for_each_size(name, bits, bkt, node, obj, member)
> > \
> > + for
* Pedro Alves (pal...@redhat.com) wrote:
> On 09/04/2012 05:30 PM, Pedro Alves wrote:
> > On 09/04/2012 04:35 PM, Steven Rostedt wrote:
> >> On Tue, 2012-08-28 at 19:00 -0400, Mathieu Desnoyers wrote:
> >>
> >>> Looking again at:
> >>>
> >
rce_adjust(offset);
> + clocksource_adjust(clock->cycle_accumulated);
>
> /* store full nanoseconds into xtime */
> xtime.tv_nsec = (s64)clock->xtime_nsec >> clock->shift;
> clock->xtime_nsec -= (s64)xtime.tv_nsec << clock->shift;
>
> -
fine PRIO(p) __PRIO((p)->prio)
> +
> /*
> * 'User priority' is the nice value converted to something we
> * can work with better when scaling various scheduler parameters,
> @@ -1372,6 +1377,9 @@ static void activate_task(struct rq *rq,
> if (p->state
* John Stultz ([EMAIL PROTECTED]) wrote:
>
> On Thu, 2008-01-31 at 07:10 -0500, Mathieu Desnoyers wrote:
> > * Steven Rostedt ([EMAIL PROTECTED]) wrote:
> > > From: John Stultz <[EMAIL PROTECTED]>
> > >
> > > Handle accurate time even if there
* Steven Rostedt ([EMAIL PROTECTED]) wrote:
> 5B
>
> On Thu, 31 Jan 2008, Mathieu Desnoyers wrote:
>
> > * Steven Rostedt ([EMAIL PROTECTED]) wrote:
> > > This patch adds markers to various events in the kernel.
> > > (interrupts, task activation and hrtimers
* Steven Rostedt ([EMAIL PROTECTED]) wrote:
>
>
>
> On Fri, 1 Feb 2008, Mathieu Desnoyers wrote:
>
> > > > > accumulated clock cycles.
> > > > >
> > > >
> > > > About this one.. we talked a lot about the importance of timekee
find any discussion about this aspect. If this is the
intent, it seems misguided to me. There may instead be a relationship
to TAINT_FORCED_{RMMOD,MODULE}. Mathieu?
- FChE
On Tue, 2008-01-22 at 22:10 -0500, Mathieu Desnoyers wrote:
On my part, its mostly a matter of not crashing the kerne
-instrumentation-menu.patch
create-arch-kconfig.patch
add-have-oprofile.patch
add-have-kprobes.patch
move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch
Mathieu
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C
;.
Delete the kernel/Kconfig.instrumentation file.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
Cc: Linus Torvalds <[EMAIL PROTECTED]>
CC: Sam Ravnborg <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
---
arch/Kconfig | 28
arch/alpha/Kc
specific Kconfig file in a suitable place do:
config SUITABLE_OPTION
select ARCH_HAS_FOO
The naming of ARCH_HAS_ is fixed and shall be:
ARCH_HAS_
Only a single line added pr. architecture.
And we will end up with a (maybe even commented) list of trivial selects.
- Yet another update
w.
- Update ARM for kprobes support.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
Cc: Sam Ravnborg <[EMAIL PROTECTED]>
Cc: Jeff Dike <[EMAIL PROTECTED]>
Cc: David Howells <[EMAIL PROTECTED]>
Cc: Ananth N Mavinakayanahalli <[EMAIL PROTECTED]>
---
arch/arm/
ou to just use
config ARCH_SUPPORTS_KPROBES
def_bool y
instead, which is a bit denser.
We seem to use both kinds of syntax for these things, but this is really
what "def_bool" is there for...
Changelog :
- Moving to HAVE_*.
- Add AVR32 oprofile.
Signed-off-b
that late in the release cycle. Therefore I submit
this for the next release cycle.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
Cc: Sam Ravnborg <[EMAIL PROTECTED]>
Cc: Jeff Dike <[EMAIL PROTECTED]>
Cc: David Howells <[EMAIL PROTECTED]>
Cc: Ananth N Mavinakayan
This patchset cleans the kprobes mutexes. It makes usage of the Text Edit Lock
possible.
It applies on top of 2.6.24-git12 in this order :
kprobes-use-mutex-for-insn-pages.patch
kprobes-dont-use-kprobes-mutex-in-arch-code.patch
kprobes-declare-kprobes-mutex-static.patch
Mathieu
--
Mathieu
Remove the kprobes mutex from kprobes.h, since it does not belong there. Also
remove all use of this mutex in the architecture specific code, replacing it by
a proper mutex lock/unlock in the architecture agnostic code.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
Acked-by: An
Protect the instruction pages list by a specific insn pages mutex, called in
get_insn_slot() and free_insn_slot(). It makes sure that architectures that does
not need to call arch_remove_kprobe() does not take an unneeded kprobes mutex.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
Since it will not be used by other kernel objects, it makes sense to declare it
static.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
Acked-by: Ananth N Mavinakayanahalli <[EMAIL PROTECTED]>
CC: [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
---
kernel/kpro
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majo
Standardize DEBUG_RODATA, removing special cases for hotplug and kprobes.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
CC: Andi Kleen <[EMAIL PROTECTED]>
CC: [EMAIL PROTECTED]
CC: Thomas Gleixner <[EMAIL PROTECTED]>
CC: Ingo Molnar <[EMAIL PROTECTED]>
CC: H. Peter
g cr0 from kernel_wp_save/restore. Change the macro name for
kernel_wp_disable/enable.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
CC: Andi Kleen <[EMAIL PROTECTED]>
CC: [EMAIL PROTECTED]
CC: Thomas Gleixner <[EMAIL PROTECTED]>
CC: Ingo Molnar <[EMAIL PROTECTED]>
CC
of the breakpoint.
Other user of this interface: immediate values.
Paravirt and alternatives are always done when SMP is inactive, so there is no
need to use locks.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
CC: Andi Kleen <[EMAIL PROTECTED]>
CC: Ingo Molnar <[
kprobes mutex cleanup)
text-edit-lock-architecture-independent-code.patch
text-edit-lock-kprobes-architecture-independent-support.patch
Mathieu
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25
Use the mutual exclusion provided by the text edit lock in the kprobes code. It
allows coherent manipulation of the kernel code by other subsystems.
Changelog:
Move the kernel_text_lock/unlock out of the for loops.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
Acked-by: An
-immediate-values.patch
#
Mathieu
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a
LIGN(8) before the __imv section. It is packed now.
- Uses an IPI busy-loop on each CPU with interrupts disabled as a simple,
architecture agnostic, update mechanism.
- Use imv_* instead of immediate_*.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
CC: Rusty Russell <[EMAIL PRO
Use immediate values with lower d-cache hit in optimized version as a
condition for scheduler profiling call.
Changelog :
- Use imv_* instead of immediate_*.
- Follow the white rabbit : kvm_main.c which becomes x86.c.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
CC: Ingo Molnar &
Changelog:
- Remove imv_set_early (removed from API).
- Use imv_* instead of immediate_*.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
CC: Rusty Russell <[EMAIL PROTECTED]>
---
Documentation/immediate.txt | 221
1 file changed, 22
ent
code.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
CC: Rusty Russell <[EMAIL PROTECTED]>
CC: Christoph Hellwig <[EMAIL PROTECTED]>
CC: Paul Mackerras <[EMAIL PROTECTED]>
---
include/asm-powerpc/cacheflush.h |4 +++-
1 file changed, 3 insertions(+), 1 deletion(
code : now handled by architecture
agnostic code.
- Use imv_* instead of immediate_*.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
CC: Rusty Russell <[EMAIL PROTECTED]>
CC: Christoph Hellwig <[EMAIL PROTECTED]>
CC: Paul Mackerras <[EMAIL PROTECTED]>
-
compile out all the immediate code when we decide not
to use optimized immediate values at all (it removes otherwise unused code).
Changelog:
- Change ARCH_SUPPORTS_IMMEDIATE for ARCH_HAS_IMMEDIATE
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
CC: Rusty Russell <[EMAIL PROTECTED]>
C
es not protect against NMI nor MCE.
- Pack the __imv section. Use smallest types required for size (char).
- Use imv_* instead of immediate_*.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
CC: Andi Kleen <[EMAIL PROTECTED]>
CC: "H. Peter Anvin" <[EMAIL PROTECTED]>
* Haavard Skinnemoen ([EMAIL PROTECTED]) wrote:
> On Sun, 3 Feb 2008 22:10:42 +0100
> Sam Ravnborg <[EMAIL PROTECTED]> wrote:
>
> > Mathieu Desnoyers (5):
> > Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig
>
> AVR32 still includes Kconfig.i
t x is a parameter, and the function
> add_op is not in a header file.
>
Tell me if I am mistakened, but applying Paul's explanation to your
example would give (I unroll the loop for clarity) :
Writer:
void add_op(struct myops *x) {
/* x->next may be garbage here */
* Mathieu Desnoyers ([EMAIL PROTECTED]) wrote:
> * Andrew Morton ([EMAIL PROTECTED]) wrote:
> >
> > fyi, I have this on hold because I spotted spufs build breakage,
> > but I haven't had time to investigate. powerpc allmodconfig, iirc.
>
> Christoph told
have never appeared in the first place.
The aim was to fix cmpxchg and cmpxchg_local, which were used in slub. cmpxchg64
and cmpxchg64_local happen to be only used in LTTng currently.
Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
Cc: Christoph Lameter <[EMAIL PROTECTED]>
Cc: Vegard No
-by: Adrian Bunk <[EMAIL PROTECTED]>
>
Thanks for spotting this.
Acked-by: Mathieu Desnoyers <[EMAIL PROTECTED]>
> ---
> 8d811a4160c6e2cb92391076e0e0b500e1b4a8a2 diff --git a/include/linux/module.h
> b/include/linux/module.h
> index 330bec0..819c4e8 100644
> --- a/incl
819c4e8 100644
> --- a/include/linux/module.h
> +++ b/include/linux/module.h
> @@ -567,8 +567,7 @@ static inline void print_modules(void)
> {
> }
>
> -static inline void module_update_markers(struct module *probe_module,
> - int *refcount)
> +static inl
core-y) $(core-m) $(drivers-y) $(drivers-m) \
> @@ -802,9 +802,6 @@ vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main)
> vmlinux.o $(kallsyms.o)
> ifdef CONFIG_HEADERS_CHECK
> $(Q)$(MAKE) -f $(srctree)/Makefile headers_check
> endif
> -ifdef CONFIG_SAMPLES
> - $(Q)$(MA
* Christoph Hellwig ([EMAIL PROTECTED]) wrote:
> On Tue, Feb 12, 2008 at 06:56:50PM -0500, Mathieu Desnoyers wrote:
> > Update spufs to the new linux kernel markers API, which supports connecting
> > more than one probe to a single marker.
>
> Compiles and works for me. But
* Sam Ravnborg ([EMAIL PROTECTED]) wrote:
> On Thu, Feb 14, 2008 at 08:27:52AM -0500, Mathieu Desnoyers wrote:
> > * Roland McGrath ([EMAIL PROTECTED]) wrote:
> > >
> > > The samples/ subdirectory contains only modules.
> > > But the only make run done there
* Adrian Bunk ([EMAIL PROTECTED]) wrote:
> With the needlessly global marker_debug being static gcc can optimize
> the unused code away.
>
> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
>
Thanks,
Acked-by: Mathieu Desnoy
rker site. Can be
> dynamically changed for a probe function.
It should not be needed. Please try Adrian's fix there :
http://lkml.org/lkml/2008/2/13/714
It should fix your problem.
Mathieu
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
ng unnecessary variables defined within a
statement-expression is indeed something we want, and your suggestion of
a macro calling a static inline is, IMHO, spot-on.
The same should be done for hash_init().
And yes, a break would be welcome in that loop: no need to continue if
we encounter a n
break;
> >
> > return i < HASH_SIZE(hashtable);
Hrm, Steven, did you drink you morning coffee before writing this ? ;-)
It looks like you did 2 bugs in 4 LOC.
First, the condition should be reversed, because this function returns
whether the hash is empty, not the other way aro
* Steven Rostedt (rost...@goodmis.org) wrote:
> On Wed, 2012-09-26 at 10:39 -0400, Mathieu Desnoyers wrote:
> > * Sasha Levin (levinsasha...@gmail.com) wrote:
> > > On 09/26/2012 03:59 PM, Steven Rostedt wrote:
> > > > On Wed, 2012-09-26 at 14:45 +0100, David Laig
the &struct list_head to use as a loop cursor for each entry
> + * @member: the name of the hlist_node within the struct
> + * @key: the key of the objects to iterate over
> + */
> +#define hash_for_each_possible_rcu(name, obj, node, member, key)
> \
> + hlist_
to NULL), and you add a call to "hash_init", which iterates on the whole
array and initialize it to NULL (again) ?
This extra initialization is redundant. I think it should be removed
from here, and hashtable.h should document that hash_init() don't need
to be called on zeroed me
p = NULL;
> c = NULL;
> - bucket = jhash(errstr, len, 0) % ERRHASHSZ;
> - hlist_for_each_entry(c, p, &hash_errmap[bucket], list) {
> + hash = jhash(errstr, len, 0);
> + hash_for_each_possible(hash_errmap, c, p, list, hash) {
> if (c->namelen ==
vator_queue first
cache-line by turning the pointer into a 256 or 512 bytes hash table.
Maybe we should consider moving "registered" before the "hash" field ?
Thanks,
Mathieu
> };
>
> --
> 1.7.12.4
>
--
Mathieu Desnoyers
Operating System Efficiency R&
bit
pointer architectures.
So defining e.g.:
#include
#define DFR_HASH_BITS (PAGE_SHIFT - ilog2(BITS_PER_LONG))
would keep the intended behavior in all cases: use one page for the hash
array.
Thanks,
Mathieu
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS In
-}
There is one thing I dislike about this change: you remove a useful
comment. It's good to be informed of the reason why a direct mapping
"value -> hash" without any dispersion function is preferred here.
Thanks,
Mathieu
--
Mathieu Desnoyers
Operating System Efficiency R&D C
h_32(session_id, L2TP_HASH_BITS)];
> -}
> -
> /* Lookup a session by id
> */
Thanks,
Mathieu
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel&quo
* Mathieu Desnoyers (mathieu.desnoy...@efficios.com) wrote:
> * Sasha Levin (levinsasha...@gmail.com) wrote:
> [...]
> > @@ -158,34 +159,21 @@ static int dlm_allow_conn;
> > static struct workqueue_struct *recv_workqueue;
> > static struct workqueue_struct *send_work
list_add_head(&file->f_list, &nlm_files[hash]);
> + hash_add(nlm_files, &file->f_list, key);
3) then we use "key" as parameter to hash_add.
Moreover, we're adding dispersion to the file_hash() with the hash_32()
called under the hook within hashtable.h. Is
ntry_rcu(rs, node, head, rs_bound_node) {
> + hash_for_each_possible_rcu(bind_hash_table, rs, node, rs_bound_node,
> key) {
here too, key will be hashed twice:
- once by jhash_2words,
- once by hash_32(),
is this intended ?
Thanks,
Mathieu
--
Mathieu Desnoyers
Operating System Eff
hash_add_rcu(dev_table, &vport->hash_node, key);
> return vport;
> }
> }
> @@ -225,7 +217,7 @@ void ovs_vport_del(struct vport *vport)
> {
> ASSERT_RTNL();
>
> - hlist_del_rcu(&vport->hash_node);
> +
* Linus Torvalds (torva...@linux-foundation.org) wrote:
> On Mon, Oct 29, 2012 at 5:42 AM, Mathieu Desnoyers
> wrote:
> >
> > So defining e.g.:
> >
> > #include
> >
> > #define DFR_HASH_BITS (PAGE_SHIFT - ilog2(BITS_PER_LONG))
> >
> > would
* J. Bruce Fields (bfie...@fieldses.org) wrote:
> On Mon, Oct 29, 2012 at 11:13:43AM -0400, Mathieu Desnoyers wrote:
> > * Linus Torvalds (torva...@linux-foundation.org) wrote:
> > > On Mon, Oct 29, 2012 at 5:42 AM, Mathieu Desnoyers
> > > wrote:
>
* Sasha Levin (levinsasha...@gmail.com) wrote:
> Hi Mathieu,
>
> On Mon, Oct 29, 2012 at 9:29 AM, Mathieu Desnoyers
> wrote:
> > * Sasha Levin (levinsasha...@gmail.com) wrote:
> > [...]
> >> -static struct hlist_head *hash_bucket(struct net *net, const char *name
* Sasha Levin (levinsasha...@gmail.com) wrote:
> On Mon, Oct 29, 2012 at 9:07 AM, Mathieu Desnoyers
> wrote:
> > * Mathieu Desnoyers (mathieu.desnoy...@efficios.com) wrote:
> >> * Sasha Levin (levinsasha...@gmail.com) wrote:
> >> [...]
> >> > @@ -1
* Sasha Levin (levinsasha...@gmail.com) wrote:
> On Mon, Oct 29, 2012 at 7:29 AM, Mathieu Desnoyers
> wrote:
> > * Sasha Levin (levinsasha...@gmail.com) wrote:
> >> +
> >> + for (i = 0; i < sz; i++)
> >> + INIT_HLIST_HEAD(&ht[sz]);
* Tejun Heo (t...@kernel.org) wrote:
> Hello,
>
> On Mon, Oct 29, 2012 at 12:14:12PM -0400, Mathieu Desnoyers wrote:
> > Most of the calls to this initialization function apply it on zeroed
> > memory (static/kzalloc'd...), which makes it useless. I'd actually be
* Sasha Levin (levinsasha...@gmail.com) wrote:
> On Mon, Oct 29, 2012 at 12:14 PM, Mathieu Desnoyers
> wrote:
> > * Sasha Levin (levinsasha...@gmail.com) wrote:
> >> On Mon, Oct 29, 2012 at 7:29 AM, Mathieu Desnoyers
> >> wrote:
> >> > * S
* Sasha Levin (levinsasha...@gmail.com) wrote:
> On Mon, Oct 29, 2012 at 7:35 AM, Mathieu Desnoyers
> wrote:
> > * Sasha Levin (levinsasha...@gmail.com) wrote:
> >> Switch tracepoints to use the new hashtable implementation. This reduces
> >> the amount of
>
* Sasha Levin (levinsasha...@gmail.com) wrote:
> On Mon, Oct 29, 2012 at 11:59 AM, Mathieu Desnoyers
> wrote:
> > * Sasha Levin (levinsasha...@gmail.com) wrote:
> >> Hi Mathieu,
> >>
> >> On Mon, Oct 29, 2012 at 9:29 AM, Mathieu Desnoyers
> >> wrot
* Tejun Heo (t...@kernel.org) wrote:
> Hello,
>
> On Mon, Oct 29, 2012 at 02:16:48PM -0400, Mathieu Desnoyers wrote:
> > This is just one example in an attempt to show why different hash table
> > users may have different constraints: for a hash table entirely
> >
* Sasha Levin (levinsasha...@gmail.com) wrote:
> On Mon, Oct 29, 2012 at 2:31 PM, Josh Triplett wrote:
> > On Mon, Oct 29, 2012 at 01:29:24PM -0400, Sasha Levin wrote:
> >> On Mon, Oct 29, 2012 at 7:35 AM, Mathieu Desnoyers
> >> wrote:
> >> > * Sash
* Tejun Heo (t...@kernel.org) wrote:
> On Mon, Oct 29, 2012 at 11:58:14AM -0700, Tejun Heo wrote:
> > On Mon, Oct 29, 2012 at 02:53:19PM -0400, Mathieu Desnoyers wrote:
> > > The argument about hash_init being useful to add magic values in the
> > > future only works
* Sasha Levin (levinsasha...@gmail.com) wrote:
> On Mon, Oct 29, 2012 at 2:53 PM, Mathieu Desnoyers
> wrote:
> > * Sasha Levin (levinsasha...@gmail.com) wrote:
> >> On Mon, Oct 29, 2012 at 2:31 PM, Josh Triplett
> >> wrote:
> >> > On Mon, Oct 29, 2
erence
> +without checking the value of the reference counter.
> +
> +In cases where delete() can sleep, synchronize_rcu() can be called from
> +delete(), so that el_free() can be subsumed into delete as follows:
> +
> +4.
> +delete()
> +{
> +spin_lock(&list_lock);
> +
* Sasha Levin (levinsasha...@gmail.com) wrote:
> This hashtable implementation is using hlist buckets to provide a simple
> hashtable to prevent it from getting reimplemented all over the kernel.
>
> Signed-off-by: Sasha Levin
Reviewed-by: Mathieu Desnoyers
> ---
>
* Sasha Levin (levinsasha...@gmail.com) wrote:
> Switch tracepoints to use the new hashtable implementation. This reduces the
> amount of generic unrelated code in the tracepoints.
>
> Signed-off-by: Sasha Levin
Reviewed-by: Mathieu Desnoyers
> ---
> kernel
) to move
the per-cpu timers out of the full nohz CPUs, and enable a new flag on
these ring buffers that would allow to dynamically change between
RING_BUFFER_SYNC_PER_CPU and RING_BUFFER_SYNC_GLOBAL for a given ring
buffer.
Thoughts ?
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://
1 - 100 of 4033 matches
Mail list logo