Messages in this thread | | | From | Song Liu <> | Date | Fri, 22 Sep 2023 14:22:45 -0700 | Subject | Re: [PATCH -next] md: simplify md_seq_ops |
| |
On Mon, Sep 11, 2023 at 6:02 PM Yu Kuai <yukuai1@huaweicloud.com> wrote: > [...] > >> +static void *md_seq_start(struct seq_file *seq, loff_t *pos) > >> +{ > >> + struct md_personality *pers; > >> + > >> + seq_puts(seq, "Personalities : "); > >> + spin_lock(&pers_lock); > >> + list_for_each_entry(pers, &pers_list, list) > >> + seq_printf(seq, "[%s] ", pers->name); > >> + > >> + spin_unlock(&pers_lock); > >> + seq_puts(seq, "\n"); > >> + seq->poll_event = atomic_read(&md_event_count); > >> + > >> + spin_lock(&all_mddevs_lock); > > > > I would prefer to increase "active" instead holding lock when enumerating over > > the devices. the main reason is that parsing mdstat is implemented in mdadm, so > > it could kind of blocker action- for example mdmon follows mdstat so it is read > > frequently. The time of getting other actions done can highly increase because > > every open or sysfs_read/write requires this lock.
Existing code holds pers_lock can seq_printf() in md_seq_show(). Do we see issues with this?
Hi Kuai,
This patch doesn't apply cleanly to md-next now. Please rebase and send v2.
Thanks, Song
| |