From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joel Porquet Subject: [PATCH 0/2] make asm-generic/futex.h usable for more arch ports Date: Sun, 9 Oct 2016 17:03:06 -0700 Message-ID: <20161010000308.13212-1-joel@porquet.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: arnd@arndb.de, linux@armlinux.org.uk Cc: linux-arch@vger.kernel.org, Joel Porquet , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-Id: linux-arch.vger.kernel.org SGkgYWxsLAoKSSd2ZSBoYWQgYSBwYXRjaCBvbiBteSBzaGVsZiBmb3IgYSBjb3VwbGUgb2YgeWVh cnMsIGZyb20gd2hlbiBJIHBvcnRlZCBMaW51eCBvbgphIG5ldyBwcm9jZXNzb3IgYXJjaGl0ZWN0 dXJlIGZvciBhbiBhY2FkZW1pYyBwcm9qZWN0LCBhbmQgdGhvdWdodCBJIGNvdWxkIHNlbmQKaXQg YW5kIGxldCB5b3UgZGVjaWRlIGlmIGl0J3Mgd29ydGggdGFraW5nIG9yIG5vdC4KCkR1cmluZyBt eSBwb3J0LCBJIGJhc2ljYWxseSBtb2RpZmllZCB0aGUgZ2VuZXJpYyBoZWFkZXIgImFzbS1nZW5l cmljL2Z1dGV4LmgiCmFuZCBtYWRlIGl0IGludG8gYSBtb3JlIGdlbmVyaWMgdmVyc2lvbiBzbyB0 aGF0IEkgY291bGQgaW5jbHVkZSBpdCBpbiBteSBjb2RlCmFuZCBvbmx5IHJlZGVmaW5lIHRoZSBu ZWNlc3NhcnkgYXJjaC1zcGVjaWZpYyBiaXRzLgoKUmlnaHQgbm93LCBtb3N0IG9mIHRoZSBhcmNo IHBvcnRzIHJlZGVmaW5lIHRoZWlyIG93biAiYXNtL2Z1dGV4LmgiIGNvbXBsZXRlbHkKYWx0aG91 Z2gsIGZvciBleGFtcGxlIGZvciAiZnV0ZXhfYXRvbWljX29wX2ludXNlcigpIiwgdGhleSBvZnRl biBzaGFyZSB0aGUgZXhhY3QKc2FtZSBwcmVhbWJsZSBhbmQgZXBpbG9ndWUgYW5kIGNvdWxkIGJl bmVmaXQgZnJvbSBzb21lIGNvZGUgcmVmYWN0b3JpbmcuCgpNeSAoc2hvcnQpIHNlcmllcyBpcyBt YWRlIG9mIHR3byBwYXRjaGVzOiAxLyByZWZhY3RvcmluZyAiYXNtLWdlbmVyaWMvZnV0ZXguaCIK aW4gb3JkZXIgdG8gbWFrZSB0aGUgYXJjaC1zcGVjaWZpYyByb3V0aW5lcyBpbnRvIG92ZXJsb2Fk LWFibGUgbWFjcm9zIHRoYXQgYXJjaApwb3J0cyBjYW4gcmVkZWZpbmUgd2hlbiByZXF1aXJlZCwg Mi8gYW4gZXhhbXBsZSBvZiBob3cgdG8gdXNlIHRoaXMgcmVmYWN0b3JpbmcKd2l0aCB0aGUgQVJN IHBvcnQuCgpMZXQgbWUga25vdyB3aGF0IHlvdSB0aGluay4KCkNoZWVycywKSm/Dq2wKCkpvZWwg UG9ycXVldCAoMik6CiAgYXNtLWdlbmVyaWMvZnV0ZXguaDogY29kZSByZWZhY3RvcmluZwogIGFy bTogZnV0ZXg6IFVzZSBhc20tZ2VuZXJpYy9mdXRleC5oIGluc3RlYWQgb2YgcmVkZWZpbmluZyB0 aGUgZW50aXJlCiAgICBoZWFkZXIKCiBhcmNoL2FybS9pbmNsdWRlL2FzbS9mdXRleC5oIHwgMjAz ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS9hc20tZ2Vu ZXJpYy9mdXRleC5oICB8IDIxOSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE5NiBpbnNlcnRpb25zKCspLCAyMjYgZGVsZXRpb25z KC0pCgotLSAKMi4xMC4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from 5.mo6.mail-out.ovh.net ([46.105.54.31]:42531 "EHLO 5.mo6.mail-out.ovh.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750855AbcJJDk0 (ORCPT ); Sun, 9 Oct 2016 23:40:26 -0400 Received: from player735.ha.ovh.net (b9.ovh.net [213.186.33.59]) by mo6.mail-out.ovh.net (Postfix) with ESMTP id 727A43907D for ; Mon, 10 Oct 2016 02:03:59 +0200 (CEST) From: Joel Porquet Subject: [PATCH 0/2] make asm-generic/futex.h usable for more arch ports Date: Sun, 9 Oct 2016 17:03:06 -0700 Message-ID: <20161010000308.13212-1-joel@porquet.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: arnd@arndb.de, linux@armlinux.org.uk Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Joel Porquet Message-ID: <20161010000306.8uwGDBP_Rb6pRj390XcLX3PsE5WSj5m1w-9ZveaiTEQ@z> Hi all, I've had a patch on my shelf for a couple of years, from when I ported Linux on a new processor architecture for an academic project, and thought I could send it and let you decide if it's worth taking or not. During my port, I basically modified the generic header "asm-generic/futex.h" and made it into a more generic version so that I could include it in my code and only redefine the necessary arch-specific bits. Right now, most of the arch ports redefine their own "asm/futex.h" completely although, for example for "futex_atomic_op_inuser()", they often share the exact same preamble and epilogue and could benefit from some code refactoring. My (short) series is made of two patches: 1/ refactoring "asm-generic/futex.h" in order to make the arch-specific routines into overload-able macros that arch ports can redefine when required, 2/ an example of how to use this refactoring with the ARM port. Let me know what you think. Cheers, Joël Joel Porquet (2): asm-generic/futex.h: code refactoring arm: futex: Use asm-generic/futex.h instead of redefining the entire header arch/arm/include/asm/futex.h | 203 +++++++++++++++++---------------------- include/asm-generic/futex.h | 219 ++++++++++++++++++++++--------------------- 2 files changed, 196 insertions(+), 226 deletions(-) -- 2.10.0