Useless test in alloc_multiple_bios

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

 



Hi

I found this piece of code in alloc_multiple_bios:
int try = (gfp_flag & GFP_NOWAIT) ? 0 : 1;

The problem is that GFP_NOWAIT includes __GFP_KSWAPD_RECLAIM and GFP_IO 
also includes __GFP_KSWAPD_RECLAIM - so the test always returns true and 
we always start with try = 0. This code was introduced by the commit 
4a2fe2960891f1ccd7805d0973284fd44c2f12b4.

I am inclined to remove this logic at all and always start with try = 0; 
- trying to allocate bios first with GFP_NOWAIT makes no harm (and it 
improves performance because we don't need to grab the lock) and if the 
allocation fails, it is retried with GFP_NOIO.

I'd like to ask - if you think that this piece of code has some purpose, 
please describe the purpose.

Mikulas





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

  Powered by Linux