Re: [PATCH V2] lglock: add read-preference local-global rwlock

2013-03-05 Thread Srivatsa S. Bhat
On 03/05/2013 09:11 PM, Lai Jiangshan wrote: > On 03/03/13 01:11, Srivatsa S. Bhat wrote: >> On 03/02/2013 06:44 PM, Lai Jiangshan wrote: >>> From 345a7a75c314ff567be48983e0892bc69c4452e7 Mon Sep 17 00:00:00 2001 >>> From: Lai Jiangshan >>> Date: Sat, 2 Mar 2013 20:33:14 +0800 >>> Subject: [PATCH]

Re: [PATCH V2] lglock: add read-preference local-global rwlock

2013-03-05 Thread Oleg Nesterov
On 03/05, Lai Jiangshan wrote: > > On 03/03/13 01:20, Oleg Nesterov wrote: > > On 03/02, Lai Jiangshan wrote: > >> > >> +void lg_rwlock_local_read_unlock(struct lgrwlock *lgrw) > >> +{ > >> + switch (__this_cpu_read(*lgrw->reader_refcnt)) { > >> + case 1: > >> + __this_cpu_write(*lgrw->r

Re: [PATCH V2] lglock: add read-preference local-global rwlock

2013-03-05 Thread Michel Lespinasse
Hi Lai, Just a few comments about your v2 proposal. Hopefully you'll catch these before you send out v3 :) - I would prefer reader_refcnt to be unsigned int instead of unsigned long - I would like some comment to indicate that lgrwlocks don't have reader-writer fairness and are thus somewhat di

Re: [PATCH V2] lglock: add read-preference local-global rwlock

2013-03-05 Thread Lai Jiangshan
On 03/03/13 01:11, Srivatsa S. Bhat wrote: > On 03/02/2013 06:44 PM, Lai Jiangshan wrote: >> From 345a7a75c314ff567be48983e0892bc69c4452e7 Mon Sep 17 00:00:00 2001 >> From: Lai Jiangshan >> Date: Sat, 2 Mar 2013 20:33:14 +0800 >> Subject: [PATCH] lglock: add read-preference local-global rwlock >>

Re: [PATCH V2] lglock: add read-preference local-global rwlock

2013-03-05 Thread Lai Jiangshan
On 03/03/13 01:20, Oleg Nesterov wrote: > On 03/02, Lai Jiangshan wrote: >> >> +void lg_rwlock_local_read_unlock(struct lgrwlock *lgrw) >> +{ >> +switch (__this_cpu_read(*lgrw->reader_refcnt)) { >> +case 1: >> +__this_cpu_write(*lgrw->reader_refcnt, 0); >> +lg_local_

Re: [PATCH V2] lglock: add read-preference local-global rwlock

2013-03-04 Thread Michel Lespinasse
On Sun, Mar 3, 2013 at 9:40 AM, Oleg Nesterov wrote: >> However, I still think that FALLBACK_BASE only adds the unnecessary >> complications. But even if I am right this is subjective of course, please >> feel free to ignore. Would it help if I sent out that version (without FALLBACK_BASE) as a f

Re: [PATCH V2] lglock: add read-preference local-global rwlock

2013-03-03 Thread Oleg Nesterov
On 03/02, Oleg Nesterov wrote: > > On 03/02, Lai Jiangshan wrote: > > > > +void lg_rwlock_local_read_unlock(struct lgrwlock *lgrw) > > +{ > > + switch (__this_cpu_read(*lgrw->reader_refcnt)) { > > + case 1: > > + __this_cpu_write(*lgrw->reader_refcnt, 0); > > + lg_local_unlo

Re: [PATCH V2] lglock: add read-preference local-global rwlock

2013-03-02 Thread Oleg Nesterov
On 03/02, Lai Jiangshan wrote: > > +void lg_rwlock_local_read_unlock(struct lgrwlock *lgrw) > +{ > + switch (__this_cpu_read(*lgrw->reader_refcnt)) { > + case 1: > + __this_cpu_write(*lgrw->reader_refcnt, 0); > + lg_local_unlock(&lgrw->lglock); > + return

Re: [PATCH V2] lglock: add read-preference local-global rwlock

2013-03-02 Thread Srivatsa S. Bhat
On 03/02/2013 06:44 PM, Lai Jiangshan wrote: > From 345a7a75c314ff567be48983e0892bc69c4452e7 Mon Sep 17 00:00:00 2001 > From: Lai Jiangshan > Date: Sat, 2 Mar 2013 20:33:14 +0800 > Subject: [PATCH] lglock: add read-preference local-global rwlock > > Current lglock is not read-preference, so it ca