[PATCH v3] scatterlist: add sg_alloc_table_from_pages function
Andrew Morton
akpm at linux-foundation.org
Tue May 22 13:10:59 PDT 2012
On Mon, 21 May 2012 16:01:50 +0200
Tomasz Stanislawski <t.stanislaws at samsung.com> 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 ;)
> >> +{
> >> + 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".
More information about the dri-devel
mailing list