RE: [PATCH 1/2] Drivers: hv: balloon: Fix a bug in the hot-add code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Ben Hutchings [mailto:ben@xxxxxxxxxxxxxxx]
> Sent: Friday, July 12, 2013 4:17 PM
> To: KY Srinivasan
> Cc: gregkh@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> devel@xxxxxxxxxxxxxxxxxxxxxx; olaf@xxxxxxxxx; apw@xxxxxxxxxxxxx;
> jasowang@xxxxxxxxxx; Stable
> Subject: Re: [PATCH 1/2] Drivers: hv: balloon: Fix a bug in the hot-add code
> 
> On Fri, Jul 12, 2013 at 06:56:14AM -0700, K. Y. Srinivasan wrote:
> > As we hot-add 128 MB chunks of memory, we wait to ensure that the memory
> > is onlined before attempting to hot-add the next chunk. If the udev rule for
> > memory hot-add is not executed within the allowed time, we would rollback
> the
> > state and abort further hot-add. Since the hot-add has succeeded and the only
> > failure is that the memory is not onlined within the allowed time, we should not
> > be rolling back the state. Fix this bug.
> [...]
> >  		/*
> >  		 * Wait for the memory block to be onlined.
> >  		 */
> > -		t = wait_for_completion_timeout(&dm_device.ol_waitevent,
> 5*HZ);
> > -		if (t == 0) {
> > -			pr_info("hot_add memory timedout\n");
> > -			has->ha_end_pfn -= HA_CHUNK;
> > -			has->covered_end_pfn -=  processed_pfn;
> > -			break;
> > -		}
> > +		wait_for_completion_timeout(&dm_device.ol_waitevent,
> 5*HZ);
> >
> >  	}
> >
> 
> Well now it might look like a bug that you don't test the result
> of wait_for_completion_timeout().  Maybe update the comment to
> explain why it's OK to continue anyway?

I put in the comment in the patch explaining why it is ok to continue. To reiterate,
it is ok to continue because hot add has succeeded. More importantly, what I was
doing earlier - rolling back the state when in fact hot add had succeeded was incorrect.

Regards,

K. Y
> 
> Ben.
> 
> --
> Ben Hutchings
> We get into the habit of living before acquiring the habit of thinking.
>                                                               - Albert Camus
> 


--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]