Re: [PATCH v2] blkcg: allocate struct blkcg_gq outside request queue spinlock

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

 



Hello, Tahsin.

On Thu, Mar 02, 2017 at 02:33:11PM -0800, Tahsin Erdogan wrote:
> > And let blkg_create() verify these conditions after releasing and
> > regrabbing the lock.
> >
> > This also means that the init path can simply pass in GFP_KERNEL.
> 
> I tried that approach, but I encountered two issues that complicate things:
> 
> 1) Pushing down blk_queue_bypass(q) check in blkg_create() doesn't
> quite work because when blkcg_init_queue() calls blkg_create(), the
> queue is still in bypassing mode.
>
> 2) Pushing down blkcg_policy_enabled() doesn't work well either,
> because blkcg_init_queue() doesn't have a policy to pass down. We
> could let it pass a NULL parameter but that would make blkg_create
> more ugly.

I see.  It kinda really bothers me that we'll have two different modes
for non-atomic allocations.  Can't we bind both to the policy
parameter?  Skip the checks if policy is NULL?

Thanks.

-- 
tejun



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux