Messages in this thread | | | Date | Wed, 20 May 2009 10:41:20 +0200 | From | Martin Schwidefsky <> | Subject | Re: [PATCHSET core/percpu] percpu: convert most archs to dynamic percpu |
| |
On Wed, 20 May 2009 16:37:32 +0900 Tejun Heo <tj@kernel.org> wrote:
> Hello, > > Please do NOT pull before maintainers of alpha and s390 ack. Upon > ack, please pull from the following git tree. > > git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git tj-percpu > > This patchset is combination of the last patch of > percpu-use-dynamic-percpu-allocator-as-default patchset[1] and patches > inspired by alpha conversion patch[2] posted by Ivan Kokshaysky. > > 0001-percpu-use-dynamic-percpu-allocator-as-the-default.patch > 0002-linker-script-throw-away-.discard-section.patch > 0003-percpu-clean-up-percpu-variable-definitions.patch > 0004-percpu-enforce-global-uniqueness-and-disallow-in-fu.patch > 0005-alpha-kill-unnecessary-__used-attribute-in-PER_CPU_.patch > 0006-alpha-switch-to-dynamic-percpu-allocator.patch > 0007-s390-switch-to-dynamic-percpu-allocator.patch > > 0001 is mostly unchanged except for added Acked-by's. > > 0002-0003 prepare for percpu variable definition update - .discard is > thrown away on all archs when linking kernel and modules, static > percpu variables in functions are moved outside of the function and > all static percpu variables are given unique names. > > 0004 updates percpu variable definition such that all percpu variables > in the same link unit have unique names regardless of its scope > (static or global) and disallow in-function static definitions. The > new definition uses dummy variables in .discard to enforce the > declaration/definition semantics and always defines percpu variables > as globals. This allows archs to add 'weak' attribute if necessary. > > 0005-0006 converts alpha to use 'weak' attribute instead of inline > assembly to generate GOT based reference when referencing percpu > variables from modules, which in turn allows conversion to dynamic > percpu allocator. > > 0007 does the same for s390. > > The new DECLARE/DEFINE macros implement the following behaviors. > > a. DECLARE + static DEFINE -> compile error > > b. multiple non-static DEFINEs with the same name -> compile error > > c. multiple static/global DEFINEs with the same name -> compile error > > d. in function static DEFINEs -> compile error > > #a and #b are expected behaviors on DECLARE/DEFINE macros in general. > #c and #d are necessary to allow 'weak' attribute on certain archs. > Please note that the rules are applied consistently whether 'weak' > attribute is specified or not. This eases catching mistakes and makes > things less confusing. > > Test config boots and works fine on x86_64. alpha and s390 are > compile tested and verified to generate necessary code for external > references but I don't have any way to actually verify them, so please > test them. :-) > > all-yes-config on x86_64 is building now. Ergggh... I want more > memory. Okay, completed successfully.
Just tested the patch-series on s390. Works fine: Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Kudos to Tejun and Ivan :-)
-- blue skies, Martin.
"Reality continues to ruin my life." - Calvin.
| |