lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 16 Jun 2010 18:24:56 +0900 From: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com> To: Frederic Weisbecker <fweisbec@...il.com> Cc: DLE <dle-develop@...ts.sourceforge.net>, Ananth N Mavinakayanahalli <ananth@...ibm.com>, Jason Baron <jbaron@...hat.com>, lkml <linux-kernel@...r.kernel.org>, Mathieu Desnoyers <mathieu.desnoyers@...icios.com>, Ingo Molnar <mingo@...e.hu>, 2nddept-manager@....hitachi.co.jp Subject: Re: [Dle-develop] [PATCH -tip v3 3/5] x86: Introduce text_poke_smp_batch() for batch-code modifying Frederic Weisbecker wrote: > On Wed, May 19, 2010 at 12:53:26PM -0400, Masami Hiramatsu wrote: >> Introduce text_poke_smp_batch(). This function modifies several >> text areas with one stop_machine() on SMPr. Because calling >> stop_machine() is heavy task, it is better to aggregate text_poke >> requests. >> >> Signed-off-by: Masami Hiramatsu <mhiramat@...hat.com> >> Cc: Ananth N Mavinakayanahalli <ananth@...ibm.com> >> Cc: Ingo Molnar <mingo@...e.hu> >> Cc: Jim Keniston <jkenisto@...ibm.com> >> Cc: Jason Baron <jbaron@...hat.com> >> Cc: Mathieu Desnoyers <mathieu.desnoyers@...icios.com> > <snip> >> +/** >> + * text_poke_smp_batch - Update instructions on a live kernel on SMP >> + * @params: an array of text_poke parameters >> + * @n: the number of elements in params. >> + * >> + * Modify multi-byte instruction by using stop_machine() on SMP. Since the >> + * stop_machine() is heavy task, it is better to aggregate text_poke requests >> + * and do it once if possible. >> + * >> + * Note: Must be called under get_online_cpus() and text_mutex. >> + */ >> +void __kprobes text_poke_smp_batch(struct text_poke_param *params, int n) >> +{ >> + struct text_poke_params tpp = {.params = params, .nparams = n}; >> + >> + atomic_set(&stop_machine_first, 1); >> + wrote_text = 0; >> + stop_machine(stop_machine_text_poke, (void *)&tpp, NULL); >> +} > > > Looks good. But wouldn't it be even better to get stop_machine() > be able to support batches itself? > > We could have stop_machine_queue() and stop_machine_flush(), > stop_machine() would be a shortcut for both, to execute single jobs, > may be that could simplify some code here and there. > Ah, that's nice too :) But I don't know other people who need that interfaces. Would you know there are any other potential users? Thank you, -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists