Re: [PATCH v3] scatterlist: add sg_alloc_table_from_pages function
From: Tomasz Stanislawski
Date: Wed Jun 06 2012 - 08:14:33 EST
On 05/22/2012 10:10 PM, Andrew Morton wrote:
> On Mon, 21 May 2012 16:01:50 +0200
> Tomasz Stanislawski <t.stanislaws@xxxxxxxxxxx> wrote:
>
>>>> +int sg_alloc_table_from_pages(struct sg_table *sgt,
>>>> + struct page **pages, unsigned int n_pages,
>>>> + unsigned long offset, unsigned long size,
>>>> + gfp_t gfp_mask)
>>>
>>> I guess a 32-bit n_pages is OK. A 16TB IO seems enough ;)
>>>
>>
>> Do you think that 'unsigned long' for offset is too big?
>>
>> Ad n_pages. Assuming that Moore's law holds it will take
>> circa 25 years before the limit of 16 TB is reached :) for
>> high-end scatterlist operations.
>> Or I can change the type of n_pages to 'unsigned long' now at
>> no cost :).
>
> By then it will be Someone Else's Problem ;)
>
Ok. So let's keep to 'unsigned int n_pages'.
>>>> +{
>>>> + unsigned int chunks;
>>>> + unsigned int i;
>>>
>>> erk, please choose a different name for this. When a C programmer sees
>>> "i", he very much assumes it has type "int". Making it unsigned causes
>>> surprise.
>>>
>>> And don't rename it to "u"! Let's give it a nice meaningful name. pageno?
>>>
>>
>> The problem is that 'i' is a natural name for a loop counter.
>
> It's also the natural name for an integer. If a C programmer sees "i",
> he thinks "int". It's a Fortran thing ;)
>
>> AFAIK, in the kernel code developers try to avoid Hungarian notation.
>> A name of a variable should reflect its purpose, not its type.
>> I can change the name of 'i' to 'pageno' and 'j' to 'pageno2' (?)
>> but I think it will make the code less reliable.
>
> Well, one could do something radical such as using "p".
>
>
I can not change the type to 'int' due to 'signed vs unsigned' comparisons
in the loop condition.
What do you think about changing the names 'i' -> 'p' and 'j' -> 'q'?
Regards,
Tomasz Stanislawski
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
> Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/