All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yi Zhang <yi.zhang@redhat.com>
To: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: Re: [PATCH blktests] block/008: fix cpu online restore
Date: Mon, 4 Jul 2022 14:47:55 +0800	[thread overview]
Message-ID: <CAHj4cs-aOQitbv0cqmW7v-Qii8YJvHMCsqUEkfwEFheBQnDUQg@mail.gmail.com> (raw)
In-Reply-To: <20220704052008.jegtbiposiy5aipg@shindev>

On Mon, Jul 4, 2022 at 1:20 PM Shinichiro Kawasaki
<shinichiro.kawasaki@wdc.com> wrote:
>
> On Jul 04, 2022 / 02:09, Yi Zhang wrote:
> > The offline cpus cannot be restored during _cleanup when only _offline_cpu
> > executed, fix it by reset RESTORE_CPUS_ONLINE=1 during test.
> >
> > Fixes: bd6b882 ("block/008: check CPU offline failure due to many IRQs")
> > Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
>
> Hello Yi, thank you for catching this. The commit bd6b882 put the _offline_cpu
> call into a sub-shell, then RESTORE_CPUS_ONLINE reset in the function no longer
> affects _cleanup function. When I made the commit, I overlooked that point.
>
> Your change should fix the issue but it makes the RESTORE_CPUS_ONLINE=1 in
> _offline_cpu meaningless. Instead, I suggest following patch. Could you confirm
> it fixes the issue in your environment?

Yeah, your change works well, feel free to add
Tested-by: Yi Zhang <yi.zhang@redhat.com>


>
> diff --git a/tests/block/008 b/tests/block/008
> index 75aae65..cd09352 100755
> --- a/tests/block/008
> +++ b/tests/block/008
> @@ -34,6 +34,7 @@ test_device() {
>         local offline_cpus=()
>         local offlining=1
>         local max_offline=${#HOTPLUGGABLE_CPUS[@]}
> +       local o=$TMPDIR/offline_cpu_out
>         if [[ ${#HOTPLUGGABLE_CPUS[@]} -eq ${#ALL_CPUS[@]} ]]; then
>                 (( max_offline-- ))
>         fi
> @@ -60,18 +61,18 @@ test_device() {
>
>                 if (( offlining )); then
>                         idx=$((RANDOM % ${#online_cpus[@]}))
> -                       if err=$(_offline_cpu "${online_cpus[$idx]}" 2>&1); then
> +                       if _offline_cpu "${online_cpus[$idx]}" > "$o" 2>&1; then
>                                 offline_cpus+=("${online_cpus[$idx]}")
>                                 unset "online_cpus[$idx]"
>                                 online_cpus=("${online_cpus[@]}")
> -                       elif [[ $err =~ "No space left on device" ]]; then
> +                       elif [[ $(<"$o") =~ "No space left on device" ]]; then
>                                 # ENOSPC means CPU offline failure due to IRQ
>                                 # vector shortage. Keep current number of
>                                 # offline CPUs as maximum CPUs to offline.
>                                 max_offline=${#offline_cpus[@]}
>                                 offlining=0
>                         else
> -                               echo "Failed to offline CPU: $err"
> +                               echo "Failed to offline CPU: $(<"$o")"
>                                 break
>                         fi
>                 fi
>
>
> --
> Shin'ichiro Kawasaki
>


--
Best Regards,
  Yi Zhang


  reply	other threads:[~2022-07-04  6:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-03 18:09 [PATCH blktests] block/008: fix cpu online restore Yi Zhang
2022-07-04  5:20 ` Shinichiro Kawasaki
2022-07-04  6:47   ` Yi Zhang [this message]
2022-07-04 11:46     ` Shinichiro Kawasaki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAHj4cs-aOQitbv0cqmW7v-Qii8YJvHMCsqUEkfwEFheBQnDUQg@mail.gmail.com \
    --to=yi.zhang@redhat.com \
    --cc=linux-block@vger.kernel.org \
    --cc=shinichiro.kawasaki@wdc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.