All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Parri <parri.andrea@gmail.com>
To: Palmer Dabbelt <palmer@sifive.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org, patches@groups.riscv.org,
	Alan Stern <stern@rowland.harvard.edu>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: Re: [GIT PULL] RISC-V Cleanups and ABI Fixes for 4.15-rc2
Date: Sun, 3 Dec 2017 04:20:02 +0100	[thread overview]
Message-ID: <20171203032002.GA4207@andrea> (raw)
In-Reply-To: <mhng-0da58f05-1d17-4081-8610-787287c5de61@palmer-si-x1c4>

Hi Palmer,

On Fri, Dec 01, 2017 at 01:39:12PM -0800, Palmer Dabbelt wrote:
> The following changes since commit 4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323:
> 
>   Linux 4.15-rc1 (2017-11-26 16:01:47 -0800)
> 
> are available in the git repository at:
> 
>   ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/palmer/linux.git tags/riscv-for-linus-4.15-rc2_cleanups
> 
> for you to fetch changes up to 3b62de26cf5ef17340a0e986d3e53eb4f74f96d5:
> 
>   RISC-V: Fixes for clean allmodconfig build (2017-12-01 13:31:31 -0800)
> 
> ----------------------------------------------------------------
> RISC-V Cleanups and ABI Fixes for 4.15-rc2
> 
> This tag contains a handful of small cleanups that are a result of
> feedback that didn't make it into our original patch set, either because
> the feedback hadn't been given yet, I missed the original emails, or
> we weren't ready to submit the changes yet.
> 
> I've been maintaining the various cleanup patch sets I have as their own
> branches, which I then merged together and signed.  Each merge commit
> has a short summary of the changes, and each branch is based on your
> latest tag (4.15-rc1, in this case).  If this isn't the right way to do
> this then feel free to suggest something else, but it seems sane to me.
> 
> Here's a short summary of the changes, roughly in order of how
> interesting they are.
> 
> * libgcc.h has been moved from include/lib, where it's the only member,
>   to include/linux.  This is meant to avoid tab completion conflicts.
> * VDSO entries for clock_get/gettimeofday/getcpu have been added.  These
>   are simple syscalls now, but we want to let glibc use them from the
>   start so we can make them faster later.
> * A VDSO entry for instruction cache flushing has been added so
>   userspace can flush the instruction cache.
> * The VDSO symbol versions for __vdso_cmpxchg{32,64} have been removed,
>   as those VDSO entries don't actually exist.
> * __io_writes has been corrected to respect the given type.
> * A new READ_ONCE in arch_spin_is_locked().
> * __test_and_op_bit_ord() is now actually ordered.
> * Various small fixes throughout the tree to enable allmodconfig to
>   build cleanly.
> * Removal of some dead code in our atomic support headers.
> * Improvements to various comments in our atomic support headers.
> 
> ----------------------------------------------------------------
> Andrew Waterman (3):
>       RISC-V: Add VDSO entries for clock_get/gettimeofday/getcpu
>       RISC-V: Flush I$ when making a dirty page executable
>       RISC-V: Allow userspace to flush the instruction cache
> 
> Christoph Hellwig (1):
>       move libgcc.h to include/linux
> 
> Olof Johansson (8):
>       RISC-V: use generic serial.h
>       RISC-V: use RISCV_{INT,SHORT} instead of {INT,SHORT} for asm macros
>       RISC-V: io.h: type fixes for warnings
>       RISC-V: move empty_zero_page definition to C and export it
>       RISC-V: Export some expected symbols for modules
>       RISC-V: Provide stub of setup_profiling_timer()
>       RISC-V: Use define for get_cycles like other architectures
>       RISC-V: Add missing include
> 
> Palmer Dabbelt (16):
>       RISC-V: Remove __vdso_cmpxchg{32,64} symbol versions
>       RISC-V: Remove unused arguments from ATOMIC_OP
>       RISC-V: Comment on why {,cmp}xchg is ordered how it is
>       RISC-V: Remove __smp_bp__{before,after}_atomic
>       RISC-V: Remove smb_mb__{before,after}_spinlock()

I wonder whether you really meant to remove smp_mb__after_spinlock():
on the one hand, this primitive doesn't seem "obsolete" (as suggested
by the commit message); on the other hand, the Draft Specification at

  https://marc.info/?l=linux-kernel&m=151218405830993&w=2

suggests that you need "to strengthen" the generic implementation for
this primitive (considered the current spinlock.h in riscv).  What am
I missing?

  Andrea


>       RISC-V: __test_and_op_bit_ord should be strongly ordered
>       RISC-V: Add READ_ONCE in arch_spin_is_locked()
>       RISC-V: `sfence.vma` orderes the instruction cache
>       RISC-V: remove spin_unlock_wait()
>       RISC-V: Clean up an unused include
>       RISC-V: __io_writes should respect the length argument
>       RISC-V Atomic Cleanups
>       RISC-V: User-Visible Changes
>       RISC-V: __io_writes should respect the length argument
>       move libgcc.h to include/linux
>       RISC-V: Fixes for clean allmodconfig build
> 
>  arch/riscv/include/asm/Kbuild          |   1 +
>  arch/riscv/include/asm/asm.h           |  12 ++--
>  arch/riscv/include/asm/atomic.h        | 103 +++++++++++++++++----------------
>  arch/riscv/include/asm/barrier.h       |  23 --------
>  arch/riscv/include/asm/bitops.h        |   2 +-
>  arch/riscv/include/asm/bug.h           |   6 +-
>  arch/riscv/include/asm/cacheflush.h    |  30 ++++++++--
>  arch/riscv/include/asm/io.h            |  18 +++---
>  arch/riscv/include/asm/mmu.h           |   4 ++
>  arch/riscv/include/asm/mmu_context.h   |  45 ++++++++++++++
>  arch/riscv/include/asm/pgtable.h       |  58 ++++++++++---------
>  arch/riscv/include/asm/spinlock.h      |  11 +---
>  arch/riscv/include/asm/timex.h         |   3 +-
>  arch/riscv/include/asm/tlbflush.h      |   7 ++-
>  arch/riscv/include/asm/vdso-syscalls.h |  28 +++++++++
>  arch/riscv/include/asm/vdso.h          |   4 ++
>  arch/riscv/kernel/head.S               |   3 -
>  arch/riscv/kernel/riscv_ksyms.c        |   3 +
>  arch/riscv/kernel/setup.c              |   5 ++
>  arch/riscv/kernel/smp.c                |  55 ++++++++++++++++++
>  arch/riscv/kernel/sys_riscv.c          |  33 ++++++++++-
>  arch/riscv/kernel/syscall_table.c      |   2 +
>  arch/riscv/kernel/vdso/Makefile        |   7 ++-
>  arch/riscv/kernel/vdso/clock_getres.S  |  26 +++++++++
>  arch/riscv/kernel/vdso/clock_gettime.S |  26 +++++++++
>  arch/riscv/kernel/vdso/flush_icache.S  |  31 ++++++++++
>  arch/riscv/kernel/vdso/getcpu.S        |  26 +++++++++
>  arch/riscv/kernel/vdso/gettimeofday.S  |  26 +++++++++
>  arch/riscv/kernel/vdso/vdso.lds.S      |   7 ++-
>  arch/riscv/lib/delay.c                 |   1 +
>  arch/riscv/mm/Makefile                 |   1 +
>  arch/riscv/mm/cacheflush.c             |  23 ++++++++
>  arch/riscv/mm/ioremap.c                |   2 +-
>  include/{lib => linux}/libgcc.h        |   0
>  lib/ashldi3.c                          |   2 +-
>  lib/ashrdi3.c                          |   2 +-
>  lib/cmpdi2.c                           |   2 +-
>  lib/lshrdi3.c                          |   2 +-
>  lib/muldi3.c                           |   2 +-
>  lib/ucmpdi2.c                          |   2 +-
>  40 files changed, 498 insertions(+), 146 deletions(-)
>  create mode 100644 arch/riscv/include/asm/vdso-syscalls.h
>  create mode 100644 arch/riscv/kernel/vdso/clock_getres.S
>  create mode 100644 arch/riscv/kernel/vdso/clock_gettime.S
>  create mode 100644 arch/riscv/kernel/vdso/flush_icache.S
>  create mode 100644 arch/riscv/kernel/vdso/getcpu.S
>  create mode 100644 arch/riscv/kernel/vdso/gettimeofday.S
>  create mode 100644 arch/riscv/mm/cacheflush.c
>  rename include/{lib => linux}/libgcc.h (100%)

  parent reply	other threads:[~2017-12-03  3:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-01 21:39 [GIT PULL] RISC-V Cleanups and ABI Fixes for 4.15-rc2 Palmer Dabbelt
2017-12-02  0:47 ` Linus Torvalds
2017-12-02  1:47   ` Palmer Dabbelt
2017-12-03  3:20 ` Andrea Parri [this message]
2017-12-07 20:59   ` [patches] " Palmer Dabbelt
2017-12-08 10:03     ` Andrea Parri

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=20171203032002.GA4207@andrea \
    --to=parri.andrea@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=palmer@sifive.com \
    --cc=patches@groups.riscv.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=stern@rowland.harvard.edu \
    --cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.