[devel] asm/page.h

Kirill A. Shutemov =?iso-8859-1?q?k=2Eshutemov_=CE=C1_velesys=2Ecom?=
Вт Фев 19 15:42:40 MSK 2008


On [Tue, 19.02.2008 04:49], Dmitry V. Levin wrote:
> On Tue, Feb 19, 2008 at 03:40:41AM +0300, Kirill Maslinsky wrote:
> > On Tue, Feb 19, 2008 at 02:23:41AM +0200, Led wrote:
> > > Tuesday, 19 February 2008 02:18:11 Kirill Maslinsky написав:
> > 
> > [...]
> > 
> > > > -               if (size > PAGE_SIZE)
> > > > -                       bulk.len = PAGE_SIZE;
> > > > +               if (size > sysconf(_SC_PAGESIZE))
> > > > +                       bulk.len = sysconf(_SC_PAGESIZE);
> > 
> > > Зачем дважды вызывать? ИМХО лучше завести переменную page_size.
> > 
> > Логично. Вот так будет корректно?
> > 
> > --- a/eciadsl-usermode/pusb-linux.c
> > +++ b/eciadsl-usermode/pusb-linux.c
> > @@ -29,7 +29,6 @@
> >  #include <string.h>
> >  
> >  #include "pusb-linux.h"
> > -#include <asm/page.h>
> >  
> >  #include "pusb.h"
> >  
> > @@ -431,6 +430,7 @@ inline int pusb_endpoint_rw(int fd, int ep, unsigned char* buf, int size, int ti
> >         static struct usbdevfs_bulktransfer bulk;
> >         static int ret;
> >         int received = 0;
> > +       int page_size = sysconf(_SC_PAGESIZE);
> >  
> >         do
> >         {
> > @@ -438,8 +438,8 @@ inline int pusb_endpoint_rw(int fd, int ep, unsigned char* buf, int size, int ti
> >  
> >                 bulk.len = size;
> >  
> > -               if (size > PAGE_SIZE)
> > -                       bulk.len = PAGE_SIZE;
> > +               if (size > page_size)
> > +                       bulk.len = page_size;
> >  
> > Вы меня простите за тупые вопросы, я просто этого языка (C) вообще не знаю, 
> > опасаюсь напортачить. 
> 
> Код синтаксически корректный, но upstream может захотеть соптимизировать
> количество вызовов sysconf.

А проверить возвращаемое из sysconf значение не нужно? А то мало ли что...

-- 
Regards,  Kirill A. Shutemov
 + Belarus, Minsk
 + Velesys Ltd, http://www.velesys.com/
 + ALT Linux Team, http://www.altlinux.com/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080219/a2cd5f5d/attachment-0002.bin>


Подробная информация о списке рассылки Devel