On Tue, Jun 26, 2018 at 09:25:08PM +0900, SeongJae Park wrote: > Hello Paul, > > On Tue, Jun 26, 2018 at 9:20 PM Paul E. McKenney > <paulmck@xxxxxxxxxxxxxxxxxx> wrote: > > > > On Tue, Jun 26, 2018 at 03:58:27PM +0900, Byungchul Park wrote: > > > On Tue, Jun 26, 2018 at 02:10:17PM +0900, SeongJae Park wrote: > > > > > > > > > > > > On Tue, 26 Jun 2018, Byungchul Park wrote: > > > > > > > > > On Tue, Jun 26, 2018 at 12:21:23PM +0900, sjpark wrote: > > > > > > Hello Byungchul, > > > > > > > > > > > > > > > > > > On Tue, 26 Jun 2018, Byungchul Park wrote: > > > > > > > > > > > > > On Sun, Jun 17, 2018 at 02:16:08PM +0900, SeongJae Park wrote: > > > > > > > > Translate this commit to Korean: > > > > > > > > > > > > > > > > 5846581e3563 ("locking/memory-barriers.txt: Fix broken DMA vs. MMIO ordering example") > > > > > > > > > > > > > > Hi SeongJae, > > > > > > > > > > > > > > You keep doing good jobs ;) > > > > > > > > > > > > > > I believe it would be better if you consider the little things below > > > > > > > more. What do you think about it, SeongJae? > > > > > > > > > > > > Thank you for great comments! > > > > > > > > > > > > > > > > > > > > > Signed-off-by: SeongJae Park <sj38.park@xxxxxxxxx> > > > > > > > > --- > > > > > > > > Documentation/translations/ko_KR/memory-barriers.txt | 15 +++++++-------- > > > > > > > > 1 file changed, 7 insertions(+), 8 deletions(-) > > > > > > > > > > > > > > > > diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt > > > > > > > > index 921739d00f69..ada0a709cce1 100644 > > > > > > > > --- a/Documentation/translations/ko_KR/memory-barriers.txt > > > > > > > > +++ b/Documentation/translations/ko_KR/memory-barriers.txt > > > > > > > > @@ -1891,19 +1891,18 @@ Mandatory 배리어들은 SMP 시스템에서도 UP 시스템에서도 SMP 효 > > > > > > > > /* 소유권을 수정 */ > > > > > > > > desc->status = DEVICE_OWN; > > > > > > > > > > > > > > > > - /* MMIO 를 통해 디바이스에 공지를 하기 전에 메모리를 동기화 */ > > > > > > > > - wmb(); > > > > > > > > - > > > > > > > > /* 업데이트된 디스크립터의 디바이스에 공지 */ > > > > > > > > writel(DESC_NOTIFY, doorbell); > > > > > > > > } > > > > > > > > > > > > > > > > dma_rmb() 는 디스크립터로부터 데이터를 읽어오기 전에 디바이스가 소유권을 > > > > > > > > - 내놓았음을 보장하게 하고, dma_wmb() 는 디바이스가 자신이 소유권을 다시 > > > > > > > > - 가졌음을 보기 전에 디스크립터에 데이터가 쓰였음을 보장합니다. wmb() 는 > > > > > > > > - 캐시 일관성이 없는 (cache incoherent) MMIO 영역에 쓰기를 시도하기 전에 > > > > > > > > - 캐시 일관성이 있는 메모리 (cache coherent memory) 쓰기가 완료되었음을 > > > > > > > > - 보장해주기 위해 필요합니다. > > > > > > > > + 내려놓았을 것을 보장하고, dma_wmb() 는 디바이스가 자신이 소유권을 다시 > > > > > > > > + 가졌음을 보기 전에 디스크립터에 데이터가 쓰였을 것을 보장합니다. writel() > > > > > > > ^ > > > > > > > 참고로, > > > > > > > > > > > > Nice comment. This will enhance the readability a lot. > > > > > > > > > > Could you add this, too? A quite little thing tho. > > > > > > > > Oops, I missed that. Sorry. Attaching the patch below. > > > > > > > > > > > > Thanks, SeongJae Park > > > > > > Thanks a lot, SeongJae. > > > > > > Acked-by: Byungchul Park <byungchul.park@xxxxxxx> > > > > Thank you both! > > > > The patch below is the complete patch, so that I should replace > > what I have with it, correct? If not, please help me out here. ;-) > > Yes, correct! :) Like this, then? Thanx, Paul ------------------------------------------------------------------------ commit 3cb0d7701c4ce6668fb5096c90ec6d5b4bf71638 Author: SeongJae Park <sj38.park@xxxxxxxxx> Date: Sun Jun 17 14:16:08 2018 +0900 locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example Translate this commit to Korean: 5846581e3563 ("locking/memory-barriers.txt: Fix broken DMA vs. MMIO ordering example") Signed-off-by: SeongJae Park <sj38.park@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> [ paulmck: Updated based on feedback from Byungchul Park. ] Acked-by: Byungchul Park <byungchul.park@xxxxxxx> diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt index 921739d00f69..7f01fb1c1084 100644 --- a/Documentation/translations/ko_KR/memory-barriers.txt +++ b/Documentation/translations/ko_KR/memory-barriers.txt @@ -1891,22 +1891,22 @@ Mandatory 배리어들은 SMP 시스템에서도 UP 시스템에서도 SMP 효 /* 소유권을 수정 */ desc->status = DEVICE_OWN; - /* MMIO 를 통해 디바이스에 공지를 하기 전에 메모리를 동기화 */ - wmb(); - /* 업데이트된 디스크립터의 디바이스에 공지 */ writel(DESC_NOTIFY, doorbell); } dma_rmb() 는 디스크립터로부터 데이터를 읽어오기 전에 디바이스가 소유권을 - 내놓았음을 보장하게 하고, dma_wmb() 는 디바이스가 자신이 소유권을 다시 - 가졌음을 보기 전에 디스크립터에 데이터가 쓰였음을 보장합니다. wmb() 는 - 캐시 일관성이 없는 (cache incoherent) MMIO 영역에 쓰기를 시도하기 전에 - 캐시 일관성이 있는 메모리 (cache coherent memory) 쓰기가 완료되었음을 - 보장해주기 위해 필요합니다. - - consistent memory 에 대한 자세한 내용을 위해선 Documentation/DMA-API.txt - 문서를 참고하세요. + 내려놓았을 것을 보장하고, dma_wmb() 는 디바이스가 자신이 소유권을 다시 + 가졌음을 보기 전에 디스크립터에 데이터가 쓰였을 것을 보장합니다. 참고로, + writel() 을 사용하면 캐시 일관성이 있는 메모리 (cache coherent memory) + 쓰기가 MMIO 영역에의 쓰기 전에 완료되었을 것을 보장하므로 writel() 앞에 + wmb() 를 실행할 필요가 없음을 알아두시기 바랍니다. writel() 보다 비용이 + 저렴한 writel_relaxed() 는 이런 보장을 제공하지 않으므로 여기선 사용되지 + 않아야 합니다. + + writel_relaxed() 와 같은 완화된 I/O 접근자들에 대한 자세한 내용을 위해서는 + "커널 I/O 배리어의 효과" 섹션을, consistent memory 에 대한 자세한 내용을 + 위해선 Documentation/DMA-API.txt 문서를 참고하세요. MMIO 쓰기 배리어 -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html