[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] [PATCH 1/2] dm-ioband: I/O bandwidth controller v1.2.0: Source code and patch
- From: Ryo Tsuruta <ryov valinux co jp>
- To: dm-devel redhat com, hxinwei gmail com
- Cc:
- Subject: Re: [dm-devel] [PATCH 1/2] dm-ioband: I/O bandwidth controller v1.2.0: Source code and patch
- Date: Thu, 10 Jul 2008 22:36:04 +0900 (JST)
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
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]