On Wed, Oct 28, 2015 at 05:00:30PM -0700, Paul E. McKenney wrote:
> > >Any objections against me applying this fix to tip:core/rcu so that I can
> > >push the
> > >recent RCU changes towards linux-next without triggering a build failure?
> >
> > No objection on my side but probably you are waitin
On Wed, Oct 28, 2015 at 09:35:42PM +0100, Patrick Marlier wrote:
>
>
> On 10/28/2015 09:33 AM, Ingo Molnar wrote:
> >
> >* Tejun Heo wrote:
> >
> >>Subject: writeback: don't use list_entry_rcu() for pointer offsetting in
> >>bdi_split_work_to_wbs()
> >>
> >>bdi_split_work_to_wbs() uses list_for
On 10/28/2015 09:33 AM, Ingo Molnar wrote:
* Tejun Heo wrote:
Subject: writeback: don't use list_entry_rcu() for pointer offsetting in
bdi_split_work_to_wbs()
bdi_split_work_to_wbs() uses list_for_each_entry_rcu_continue() to
walk @bdi->wb_list. To set up the initial iteration condition,
* Tejun Heo wrote:
> Subject: writeback: don't use list_entry_rcu() for pointer offsetting in
> bdi_split_work_to_wbs()
>
> bdi_split_work_to_wbs() uses list_for_each_entry_rcu_continue() to
> walk @bdi->wb_list. To set up the initial iteration condition, it
> uses list_entry_rcu() to calcula
On Tue, Oct 27, 2015 at 02:19:39PM +0900, Tejun Heo wrote:
> Hello,
>
> On Tue, Oct 27, 2015 at 12:37:16PM +0900, Linus Torvalds wrote:
> > > I believe that the above should instead be:
> > >
> > > struct bdi_writeback *wb = list_entry_rcu(bdi->wb_list.next,
>
> I should have just used li
On Tue, Oct 27, 2015 at 12:37:16PM +0900, Linus Torvalds wrote:
> On Mon, Oct 26, 2015 at 11:55 PM, Paul E. McKenney
> wrote:
> >> struct bdi_writeback *last_wb = NULL;
> >> struct bdi_writeback *wb = list_entry_rcu(&bdi->wb_list,
> >
> > I believe that the above should instead be:
Hello,
On Tue, Oct 27, 2015 at 12:37:16PM +0900, Linus Torvalds wrote:
> > I believe that the above should instead be:
> >
> > struct bdi_writeback *wb = list_entry_rcu(bdi->wb_list.next,
I should have just used list_entry() here. It's just offseting the
pointer to set up the initial ite
On Mon, Oct 26, 2015 at 11:55 PM, Paul E. McKenney
wrote:
>> struct bdi_writeback *last_wb = NULL;
>> struct bdi_writeback *wb = list_entry_rcu(&bdi->wb_list,
>
> I believe that the above should instead be:
>
> struct bdi_writeback *wb = list_entry_rcu(bdi->wb_list.next,
I
* Paul E. McKenney wrote:
> > It's this new usage in fs/fs-writeback.c:
> >
> > static void bdi_split_work_to_wbs(struct backing_dev_info *bdi,
> > struct wb_writeback_work *base_work,
> > bool skip_if_busy)
> > {
> > s
On Mon, Oct 26, 2015 at 09:45:06AM +0100, Ingo Molnar wrote:
>
> * Paul E. McKenney wrote:
>
> > From: Patrick Marlier
> >
> > The current list_entry_rcu() implementation copies the pointer to a stack
> > variable, then invokes rcu_dereference_raw() on it. This results in an
> > additional st
* Paul E. McKenney wrote:
> From: Patrick Marlier
>
> The current list_entry_rcu() implementation copies the pointer to a stack
> variable, then invokes rcu_dereference_raw() on it. This results in an
> additional store-load pair. Now, most compilers will emit normal store
> and load instruc
From: Patrick Marlier
The current list_entry_rcu() implementation copies the pointer to a stack
variable, then invokes rcu_dereference_raw() on it. This results in an
additional store-load pair. Now, most compilers will emit normal store
and load instructions, which might seem to be of negligib
12 matches
Mail list logo