Re: [PATCH 1/2] dm-ioband: I/O bandwidth controller v1.2.0: Source code and patch

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

 



Hi Xinwei,

> > +static void prevent_burst_bios(struct ioband_group *gp, struct bio *bio)
> > +{
> > +       struct ioband_device *dp = gp->c_banddev;
> > +
> > +       if (current->flags & PF_KTHREAD) {
> > +               /*
> > +                * Kernel threads shouldn't be blocked easily since each of
> > +                * them may handle BIOs for several groups on several
> > +                * partitions.
> > +                */
>   Might be a stupid question, but doesn't that make more sense to just
> check if current->mm == NULL ?
>   I think PF_BORROWED_MM is only used when kernel threads doing AIO
> for user process, and that should be counted as normal user processes.
> Am I miss anything ?

This function makes processes issuing I/O blocked when the number of
in-flight I/Os exceeds a certain threshold. The purpose is to prevent
I/O requests from issuing unlimitedly, not for counting the number of
I/Os.
But kernel threads should not be blocked easily since each of them may
handles BIOs for several group on several partitions. The AIO kernel
threads also handle I/Os for several groups, that's why they should
not be blocked easily.

Thanks,
Ryo Tsuruta

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel

[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux