lkml.org 
[lkml]   [2013]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 56/99] Drivers: hv: balloon: Fix a bug in the hot-add code
    Date
    3.10-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: "K. Y. Srinivasan" <kys@microsoft.com>

    commit ed07ec93e83ec471d365ce084e43ad90fd205903 upstream.

    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.

    Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    Acked-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/hv/hv_balloon.c | 13 +++++--------
    1 file changed, 5 insertions(+), 8 deletions(-)

    --- a/drivers/hv/hv_balloon.c
    +++ b/drivers/hv/hv_balloon.c
    @@ -562,7 +562,7 @@ static void hv_mem_hot_add(unsigned long
    struct hv_hotadd_state *has)
    {
    int ret = 0;
    - int i, nid, t;
    + int i, nid;
    unsigned long start_pfn;
    unsigned long processed_pfn;
    unsigned long total_pfn = pfn_count;
    @@ -607,14 +607,11 @@ static void hv_mem_hot_add(unsigned long

    /*
    * Wait for the memory block to be onlined.
    + * Since the hot add has succeeded, it is ok to
    + * proceed even if the pages in the hot added region
    + * have not been "onlined" within the allowed time.
    */
    - 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);

    }




    \
     
     \ /
      Last update: 2013-08-02 14:01    [W:4.029 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site