From: James Hogan <james.hogan@imgtec.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arch@vger.kernel.org
Subject: Re: [RFC PATCH v1 18/40] metag: System Calls
Date: Thu, 22 Nov 2012 12:01:15 +0000 [thread overview]
Message-ID: <50AE140B.2080208@imgtec.com> (raw)
In-Reply-To: <201211091420.19999.arnd@arndb.de>
Hi Arnd,
On 09/11/12 14:20, Arnd Bergmann wrote:
> On Wednesday 31 October 2012, James Hogan wrote:
>
>> +/* kernel/signal.c */
>> +asmlinkage int sys_sigaltstack(const stack_t __user *, stack_t __user *,
>> + unsigned long, unsigned long,
>> + unsigned long, unsigned long,
>> + struct pt_regs *);
>> +asmlinkage int sys_rt_sigreturn(unsigned long, unsigned long,
>> + unsigned long, unsigned long,
>> + unsigned long, unsigned long,
>> + struct pt_regs *);
>> +asmlinkage long sys_rt_sigaction(int sig,
>> + const struct sigaction __user *act,
>> + struct sigaction __user *oact,
>> + size_t sigsetsize);
>> +asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset,
>> + size_t sigsetsize);
>> +asmlinkage long sys_rt_tgsigqueueinfo(pid_t, pid_t, int, siginfo_t __user *);
>
> Can't you use the declarations from asm-generic/syscalls.h for these?
Thanks. I'll use that.
>>> +asmlinkage long sys32_truncate64(const char __user *, unsigned long,
>> + unsigned long);
>> +asmlinkage long sys32_ftruncate64(unsigned int, unsigned long,
>> + unsigned long);
>> +asmlinkage long sys32_fadvise64_64(int, unsigned long, unsigned long,
>> + unsigned long, unsigned long, int);
>> +asmlinkage long sys32_readahead(int, unsigned long, unsigned long, size_t);
>> +asmlinkage ssize_t sys32_pread64(unsigned long, char __user *, size_t,
>> + unsigned long, unsigned long);
>> +asmlinkage ssize_t sys32_pwrite64(unsigned long, char __user *, size_t,
>> + unsigned long, unsigned long);
>> +asmlinkage long sys32_sync_file_range(int, unsigned long, unsigned long,
>> + unsigned long, unsigned long,
>> + unsigned int);
>
> These confused me a bit. The sys32_* notation is traditionally used for
> 32 bit compatibility functions on 64 bit architectures. Maybe it's better
> to name these sys_meta_* instead.
Okay, I'll probably go with sys_*64_metag to match c6x.
>
>> +asmlinkage int sys_metag_spinlock(int __user *spinlock)
>> +{
>> + int ret = 0, tmp;
>> +
>> + local_irq_disable();
>> + get_user(tmp, spinlock);
>> + if (tmp)
>> + ret = 1;
>> + tmp = 1;
>> + put_user(tmp, spinlock);
>> + local_irq_enable();
>> + return ret;
>> +}
>
> This seems to be a specialization of a cmpxchg() function. How about
> implementing cmpxchg semantics instead? It should be more flexible
> for almost the same runtime cost.
This is a bit of a legacy syscall, and as of very recently it is no
longer used by up to date user software. The gateway page implements
cmpxchg semantics, so I'll drop this system call altogether.
Thanks for the comments
James
next prev parent reply other threads:[~2012-11-22 19:17 UTC|newest]
Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-31 16:13 [RFC PATCH v1 00/40] Meta Linux Kernel Port James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 01/40] asm-generic/io.h: remove asm/cacheflush.h include James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 02/40] asm-generic/unistd.h: handle symbol prefixes in cond_syscall James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 03/40] Add CONFIG_HAVE_64BIT_ALIGNED_STRUCT for taskstats James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 04/40] trace/ring_buffer: handle 64bit aligned structs James Hogan
2012-10-31 17:59 ` Steven Rostedt
2012-10-31 18:19 ` James Hogan
2012-11-01 17:32 ` Will Newton
2012-11-01 19:30 ` Steven Rostedt
2012-10-31 16:13 ` [RFC PATCH v1 05/40] Revert some of "binfmt_elf: cleanups" James Hogan
2012-11-01 13:25 ` Mikael Pettersson
2012-11-01 13:25 ` Mikael Pettersson
2012-11-01 13:52 ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 06/40] of/vendor-prefixes: add Imagination Technologies James Hogan
2012-11-01 1:38 ` Rob Herring
2012-11-01 9:20 ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 07/40] metag: Add MAINTAINERS entry James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 08/40] metag: Boot James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 11/40] metag: Signal handling James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 12/40] metag: Build infrastructure James Hogan
2012-10-31 19:35 ` Sam Ravnborg
2012-10-31 21:34 ` James Hogan
2012-11-02 9:40 ` James Hogan
2012-11-02 17:01 ` Sam Ravnborg
2012-11-09 14:46 ` Arnd Bergmann
2012-11-09 14:55 ` James Hogan
2012-11-20 15:06 ` James Hogan
2012-11-20 15:43 ` Arnd Bergmann
2012-11-20 16:01 ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 13/40] metag: Device tree James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 14/40] metag: Ptrace James Hogan
2012-11-08 7:17 ` Jonas Bonn
2012-11-09 9:26 ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 15/40] metag: Time keeping James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 16/40] metag: Traps James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 17/40] metag: IRQ handling James Hogan
2012-11-09 14:12 ` Arnd Bergmann
2012-11-20 16:08 ` James Hogan
2012-11-20 16:15 ` Arnd Bergmann
2012-12-18 13:25 ` James Hogan
2012-12-19 15:58 ` Arnd Bergmann
2012-12-20 10:14 ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 18/40] metag: System Calls James Hogan
2012-11-09 14:20 ` Arnd Bergmann
2012-11-22 12:01 ` James Hogan [this message]
2012-10-31 16:14 ` [RFC PATCH v1 19/40] metag: Scheduling/Process management James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 20/40] metag: Module support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 21/40] metag: Atomics, locks and bitops James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 22/40] metag: Basic documentation James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 23/40] metag: SMP support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 24/40] metag: DMA James Hogan
2012-11-09 14:25 ` Arnd Bergmann
2012-11-23 15:53 ` James Hogan
2012-11-23 16:20 ` James Hogan
2012-11-23 16:47 ` Arnd Bergmann
2013-01-09 16:04 ` James Hogan
2013-01-09 16:04 ` James Hogan
2013-01-09 16:08 ` Arnd Bergmann
2012-11-23 16:47 ` Arnd Bergmann
2012-10-31 16:14 ` [RFC PATCH v1 25/40] metag: optimised library functions James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 26/40] metag: Stack unwinding James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 27/40] metag: various other headers James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 28/40] metag: Perf James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 29/40] metag: ftrace support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 30/40] scripts/checkstack.pl: Add metag support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 31/40] char: don't build rtc or genrtc on METAG James Hogan
2012-11-01 15:39 ` Greg KH
2012-11-01 17:33 ` James Hogan
2012-11-09 14:38 ` Arnd Bergmann
2012-10-31 16:14 ` [RFC PATCH v1 32/40] i8042: don't build " James Hogan
2012-11-09 14:28 ` Arnd Bergmann
2012-11-16 11:06 ` James Hogan
2012-11-16 15:20 ` Arnd Bergmann
2012-11-16 16:19 ` Geert Uytterhoeven
2012-11-16 16:43 ` Arnd Bergmann
2012-11-16 16:50 ` James Hogan
2012-11-16 17:20 ` Arnd Bergmann
2012-10-31 16:14 ` [RFC PATCH v1 33/40] parport: " James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 34/40] musb: don't redefine {read,write}s{l,w,b} on metag James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 35/40] vga console: don't build on METAG James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 36/40] metag: OProfile James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 37/40] metag: Various sysfs drivers James Hogan
2012-10-31 19:30 ` Greg KH
2012-10-31 19:41 ` James Hogan
2012-11-09 14:32 ` Arnd Bergmann
2012-11-09 14:35 ` James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 38/40] metag: add JTAG Debug Adapter (DA) support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 39/40] tty/metag_da: add metag DA TTY driver James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 40/40] fs: dafs: Add DAFS filesystem for metag James Hogan
2012-10-31 16:42 ` Al Viro
2012-10-31 19:39 ` James Hogan
2012-10-31 19:39 ` James Hogan
2012-10-31 19:55 ` Myklebust, Trond
2012-10-31 19:55 ` Myklebust, Trond
2012-10-31 21:39 ` James Hogan
2012-10-31 21:39 ` James Hogan
2012-11-02 9:33 ` James Hogan
2012-11-02 9:33 ` James Hogan
2012-10-31 16:26 ` [RFC PATCH v1 00/40] Meta Linux Kernel Port James Hogan
2012-11-09 15:06 ` Arnd Bergmann
2012-11-09 15:21 ` James Hogan
2012-11-09 15:58 ` Arnd Bergmann
2012-11-09 16:20 ` James Hogan
2012-11-09 21:55 ` Arnd Bergmann
2012-11-09 23:28 ` James Hogan
2012-11-12 16:59 ` James Hogan
2012-11-12 19:10 ` Arnd Bergmann
2012-11-13 9:43 ` James Hogan
2012-11-13 9:55 ` Arnd Bergmann
2012-10-31 22:33 ` Tony Breeds
2012-11-01 11:42 ` James Hogan
2012-11-01 23:28 ` Tony Breeds
2012-11-09 16:52 ` James Hogan
2012-11-09 15:16 ` Arnd Bergmann
2012-11-09 16:06 ` James Hogan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50AE140B.2080208@imgtec.com \
--to=james.hogan@imgtec.com \
--cc=arnd@arndb.de \
--cc=linux-arch@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).