ALT Linux Team development discussions
 help / color / mirror / Atom feed
* Re: [devel] xawtv4-4.0-alt3.cvs20070625.2: i586 rebuild failed
  @ 2008-02-18 21:09 ` Hihin Ruslan
  2008-02-18 21:40   ` [devel] asm/page.h Dmitry V. Levin
  0 siblings, 1 reply; 21+ messages in thread
From: Hihin Ruslan @ 2008-02-18 21:09 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 453 bytes --]

Здравствуйте QA Team Robot
 В сообщении от 18 февраля 2008 вы написали:
 > Package: xawtv4-4.0-alt3.cvs20070625.2
 >
 > Packager: Hihin Ruslan <ruslandh@altlinux>
 > Build Statistics:
.........
 >
 >   CC	  console/fbtools.o
 >
 > console/fbtools.c:24:22: error: asm/page.h: No such file or
 > directory
 Ну и на какой пакет  ставить зависимость ?
В glibc-kernelheaders теперь нет asm/page., есть правда в kernel-headers



-- 
С уважением Xихин Руслан

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-18 21:09 ` [devel] xawtv4-4.0-alt3.cvs20070625.2: i586 rebuild failed Hihin Ruslan
@ 2008-02-18 21:40   ` Dmitry V. Levin
  2008-02-18 22:38     ` Kirill Maslinsky
  0 siblings, 1 reply; 21+ messages in thread
From: Dmitry V. Levin @ 2008-02-18 21:40 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 436 bytes --]

On Tue, Feb 19, 2008 at 12:09:20AM +0300, Hihin Ruslan wrote:
> Здравствуйте QA Team Robot
>  В сообщении от 18 февраля 2008 вы написали:
>  > Package: xawtv4-4.0-alt3.cvs20070625.2
[...]
>  > console/fbtools.c:24:22: error: asm/page.h: No such file or
>  > directory
>  Ну и на какой пакет  ставить зависимость ?

Надо избавляться от этой зависимости, а не искать пакет, на который её
можно было бы поставить.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-18 21:40   ` [devel] asm/page.h Dmitry V. Levin
@ 2008-02-18 22:38     ` Kirill Maslinsky
  2008-02-18 23:42       ` Led
  0 siblings, 1 reply; 21+ messages in thread
From: Kirill Maslinsky @ 2008-02-18 22:38 UTC (permalink / raw)
  To: ALT Devel discussion list

On Tue, Feb 19, 2008 at 12:40:33AM +0300, Dmitry V. Levin wrote:
> On Tue, Feb 19, 2008 at 12:09:20AM +0300, Hihin Ruslan wrote:
> > Здравствуйте QA Team Robot
> >  В сообщении от 18 февраля 2008 вы написали:
> >  > Package: xawtv4-4.0-alt3.cvs20070625.2
> [...]
> >  > console/fbtools.c:24:22: error: asm/page.h: No such file or
> >  > directory
> >  Ну и на какой пакет  ставить зависимость ?
> 
> Надо избавляться от этой зависимости, а не искать пакет, на который её
> можно было бы поставить.

Прошу помочь избавиться от аналогичной зависимости в пакете
eciadsl-usermode.

Выдержка из лога сборки: 
. . .
In file included from pusb.c:13:
pusb-linux.c:32:22: error: asm/page.h: No such file or directory
In file included from pusb.c:13:
pusb-linux.c: In function 'pusb_endpoint_rw':
pusb-linux.c:441: error: 'PAGE_SIZE' undeclared (first use in this
function)
pusb-linux.c:441: error: (Each undeclared identifier is reported only
once
pusb-linux.c:441: error: for each function it appears in.)
make[1]: *** [pusb.o] Error 1
. . .

Соответствующее место в pusb-linux.c:

429 inline int pusb_endpoint_rw(int fd, int ep, unsigned char* buf, int
size, int timeout)
430 {
431     static struct usbdevfs_bulktransfer bulk;
432     static int ret;
433     int received = 0;
434 
435     do
436     {
437         bulk.ep      = ep;
438 
439         bulk.len = size;
440 
441         if (size > PAGE_SIZE)
442             bulk.len = PAGE_SIZE;
443 
444         bulk.timeout = timeout;
445         bulk.data    = buf;
446 
447         do
448         {
449             ret = ioctl(fd, USBDEVFS_BULK, &bulk);
450         }
451         while (ret < 0 && errno == EINTR);
452 
453         if (ret < 0)
454             return(ret);
455 
456         buf  += ret;
457         size -= ret;
458         received += ret;
459     }
460     while (ret==(int)bulk.len && size>0);
461 
462     return(received);
463 }

-- 
Kirill Maslinsky
ALT Linux Team


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-18 22:38     ` Kirill Maslinsky
@ 2008-02-18 23:42       ` Led
  2008-02-18 23:45         ` Led
  0 siblings, 1 reply; 21+ messages in thread
From: Led @ 2008-02-18 23:42 UTC (permalink / raw)
  To: ALT Devel discussion list

Tuesday, 19 February 2008 00:38:28 Kirill Maslinsky написав:
> On Tue, Feb 19, 2008 at 12:40:33AM +0300, Dmitry V. Levin wrote:
> > On Tue, Feb 19, 2008 at 12:09:20AM +0300, Hihin Ruslan wrote:
> > > Здравствуйте QA Team Robot
> > >
> > >  В сообщении от 18 февраля 2008 вы написали:
> > >  > Package: xawtv4-4.0-alt3.cvs20070625.2
> >
> > [...]
> >
> > >  > console/fbtools.c:24:22: error: asm/page.h: No such file or
> > >  > directory
> > >
> > >  Ну и на какой пакет  ставить зависимость ?
> >
> > Надо избавляться от этой зависимости, а не искать пакет, на который её
> > можно было бы поставить.
>
> Прошу помочь избавиться от аналогичной зависимости в пакете
> eciadsl-usermode.
>
> Выдержка из лога сборки:
> . . .
> In file included from pusb.c:13:
> pusb-linux.c:32:22: error: asm/page.h: No such file or directory
> In file included from pusb.c:13:
> pusb-linux.c: In function 'pusb_endpoint_rw':
> pusb-linux.c:441: error: 'PAGE_SIZE' undeclared (first use in this
> function)
> pusb-linux.c:441: error: (Each undeclared identifier is reported only
> once
> pusb-linux.c:441: error: for each function it appears in.)
> make[1]: *** [pusb.o] Error 1
> . . .
>
> Соответствующее место в pusb-linux.c:
>
> 429 inline int pusb_endpoint_rw(int fd, int ep, unsigned char* buf, int
> size, int timeout)
> 430 {
> 431     static struct usbdevfs_bulktransfer bulk;
> 432     static int ret;
> 433     int received = 0;
> 434
> 435     do
> 436     {
> 437         bulk.ep      = ep;
> 438
> 439         bulk.len = size;
> 440
> 441         if (size > PAGE_SIZE)
> 442             bulk.len = PAGE_SIZE;
> 443
> 444         bulk.timeout = timeout;
> 445         bulk.data    = buf;
> 446
> 447         do
> 448         {
> 449             ret = ioctl(fd, USBDEVFS_BULK, &bulk);
> 450         }
> 451         while (ret < 0 && errno == EINTR);
> 452
> 453         if (ret < 0)
> 454             return(ret);
> 455
> 456         buf  += ret;
> 457         size -= ret;
> 458         received += ret;
> 459     }
> 460     while (ret==(int)bulk.len && size>0);
> 461
> 462     return(received);
> 463 }

Это не оно?

The user can find the value of PAGE_SIZE by calling getpagesize() defined in 
unistd.h .

-- 
Led


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-18 23:42       ` Led
@ 2008-02-18 23:45         ` Led
  2008-02-19  0:06           ` Dmitry V. Levin
  2008-02-19  0:11           ` Kirill Maslinsky
  0 siblings, 2 replies; 21+ messages in thread
From: Led @ 2008-02-18 23:45 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Tuesday, 19 February 2008 01:42:09 Led написав:
> Tuesday, 19 February 2008 00:38:28 Kirill Maslinsky написав:
> > On Tue, Feb 19, 2008 at 12:40:33AM +0300, Dmitry V. Levin wrote:
> > > On Tue, Feb 19, 2008 at 12:09:20AM +0300, Hihin Ruslan wrote:
> > > > Здравствуйте QA Team Robot
> > > >
> > > >  В сообщении от 18 февраля 2008 вы написали:
> > > >  > Package: xawtv4-4.0-alt3.cvs20070625.2
> > >
> > > [...]
> > >
> > > >  > console/fbtools.c:24:22: error: asm/page.h: No such file or
> > > >  > directory
> > > >
> > > >  Ну и на какой пакет  ставить зависимость ?
> > >
> > > Надо избавляться от этой зависимости, а не искать пакет, на который её
> > > можно было бы поставить.
> >
> > Прошу помочь избавиться от аналогичной зависимости в пакете
> > eciadsl-usermode.
> >
> > Выдержка из лога сборки:
> > . . .
> > In file included from pusb.c:13:
> > pusb-linux.c:32:22: error: asm/page.h: No such file or directory
> > In file included from pusb.c:13:
> > pusb-linux.c: In function 'pusb_endpoint_rw':
> > pusb-linux.c:441: error: 'PAGE_SIZE' undeclared (first use in this
> > function)
> > pusb-linux.c:441: error: (Each undeclared identifier is reported only
> > once
> > pusb-linux.c:441: error: for each function it appears in.)
> > make[1]: *** [pusb.o] Error 1
> > . . .
> >
> > Соответствующее место в pusb-linux.c:
> >
> > 429 inline int pusb_endpoint_rw(int fd, int ep, unsigned char* buf, int
> > size, int timeout)
> > 430 {
> > 431     static struct usbdevfs_bulktransfer bulk;
> > 432     static int ret;
> > 433     int received = 0;
> > 434
> > 435     do
> > 436     {
> > 437         bulk.ep      = ep;
> > 438
> > 439         bulk.len = size;
> > 440
> > 441         if (size > PAGE_SIZE)
> > 442             bulk.len = PAGE_SIZE;
> > 443
> > 444         bulk.timeout = timeout;
> > 445         bulk.data    = buf;
> > 446
> > 447         do
> > 448         {
> > 449             ret = ioctl(fd, USBDEVFS_BULK, &bulk);
> > 450         }
> > 451         while (ret < 0 && errno == EINTR);
> > 452
> > 453         if (ret < 0)
> > 454             return(ret);
> > 455
> > 456         buf  += ret;
> > 457         size -= ret;
> > 458         received += ret;
> > 459     }
> > 460     while (ret==(int)bulk.len && size>0);
> > 461
> > 462     return(received);
> > 463 }
>
> Это не оно?
>
> The user can find the value of PAGE_SIZE by calling getpagesize() defined
> in unistd.h .

Хотя, наверное, всё же:

-asm/page.h
+sys/user.h

-- 
Led


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-18 23:45         ` Led
@ 2008-02-19  0:06           ` Dmitry V. Levin
  2008-02-19  0:18             ` Kirill Maslinsky
  2008-02-19  0:11           ` Kirill Maslinsky
  1 sibling, 1 reply; 21+ messages in thread
From: Dmitry V. Levin @ 2008-02-19  0:06 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 314 bytes --]

On Tue, Feb 19, 2008 at 01:45:34AM +0200, Led wrote:
> > Это не оно?
> >
> > The user can find the value of PAGE_SIZE by calling getpagesize() defined
> > in unistd.h .
> 
> Хотя, наверное, всё же:
> 
> -asm/page.h
> +sys/user.h

Какой-то сомнительный файл.  Лучше sysconf(_SC_PAGESIZE).


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-18 23:45         ` Led
  2008-02-19  0:06           ` Dmitry V. Levin
@ 2008-02-19  0:11           ` Kirill Maslinsky
  2008-02-19  0:22             ` Led
  2008-02-19 12:35             ` Kirill A. Shutemov
  1 sibling, 2 replies; 21+ messages in thread
From: Kirill Maslinsky @ 2008-02-19  0:11 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Feb 19, 2008 at 01:45:34AM +0200, Led wrote:
> Tuesday, 19 February 2008 01:42:09 Led написав:
> > Tuesday, 19 February 2008 00:38:28 Kirill Maslinsky написав:

[...]

> > > > >  > console/fbtools.c:24:22: error: asm/page.h: No such file or
> > > > >  > directory
> > > > >
> > > > >  Ну и на какой пакет  ставить зависимость ?
> > > >
> > > > Надо избавляться от этой зависимости, а не искать пакет, на который её
> > > > можно было бы поставить.
> > >
> > > Прошу помочь избавиться от аналогичной зависимости в пакете
> > > eciadsl-usermode.

[...]

> > Это не оно?
> >
> > The user can find the value of PAGE_SIZE by calling getpagesize() defined
> > in unistd.h .
> 
> Хотя, наверное, всё же:
> 
> -asm/page.h
> +sys/user.h

Большое спасибо, пересобирается в обоих случаях! 
Но какой вариант следует выбрать? Для user.h патч получается проще :)

Если можно также попросить помочь кратко сформулировать для апстрима
необходимость изменения.

-- 
Kirill Maslinsky
ALT Linux Team


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  0:06           ` Dmitry V. Levin
@ 2008-02-19  0:18             ` Kirill Maslinsky
  2008-02-19  0:23               ` Led
  2008-02-19  1:48               ` Dmitry V. Levin
  0 siblings, 2 replies; 21+ messages in thread
From: Kirill Maslinsky @ 2008-02-19  0:18 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Feb 19, 2008 at 03:06:28AM +0300, Dmitry V. Levin wrote:
> On Tue, Feb 19, 2008 at 01:45:34AM +0200, Led wrote:
> > > Это не оно?
> > >
> > > The user can find the value of PAGE_SIZE by calling getpagesize() defined
> > > in unistd.h .
> > 
> > Хотя, наверное, всё же:
> > 
> > -asm/page.h
> > +sys/user.h
> 
> Какой-то сомнительный файл.  Лучше sysconf(_SC_PAGESIZE).

Вот так?

--- 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"
 
@@ -438,8 +437,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 > sysconf(_SC_PAGESIZE))
+                       bulk.len = sysconf(_SC_PAGESIZE);
 
                bulk.timeout = timeout;
                bulk.data    = buf;

И если можно ещё уточнить, что в этом случае писать апстриму?


-- 
Kirill Maslinsky
ALT Linux Team


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  0:11           ` Kirill Maslinsky
@ 2008-02-19  0:22             ` Led
  2008-02-19 12:35             ` Kirill A. Shutemov
  1 sibling, 0 replies; 21+ messages in thread
From: Led @ 2008-02-19  0:22 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Tuesday, 19 February 2008 02:11:06 Kirill Maslinsky написав:
> On Tue, Feb 19, 2008 at 01:45:34AM +0200, Led wrote:
> > Tuesday, 19 February 2008 01:42:09 Led написав:
> > > Tuesday, 19 February 2008 00:38:28 Kirill Maslinsky написав:
>
> [...]
>
> > > > > >  > console/fbtools.c:24:22: error: asm/page.h: No such file or
> > > > > >  > directory
> > > > > >
> > > > > >  Ну и на какой пакет  ставить зависимость ?
> > > > >
> > > > > Надо избавляться от этой зависимости, а не искать пакет, на который
> > > > > её можно было бы поставить.
> > > >
> > > > Прошу помочь избавиться от аналогичной зависимости в пакете
> > > > eciadsl-usermode.
>
> [...]
>
> > > Это не оно?
> > >
> > > The user can find the value of PAGE_SIZE by calling getpagesize()
> > > defined in unistd.h .
> >
> > Хотя, наверное, всё же:
> >
> > -asm/page.h
> > +sys/user.h
>
> Большое спасибо, пересобирается в обоих случаях!
> Но какой вариант следует выбрать? Для user.h патч получается проще :)

Но с sysconf всё же правильнее.

2ldv: getpagesize() - это "совсем другое"?

-- 
Led

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  0:18             ` Kirill Maslinsky
@ 2008-02-19  0:23               ` Led
  2008-02-19  0:40                 ` Kirill Maslinsky
  2008-02-19  1:48               ` Dmitry V. Levin
  1 sibling, 1 reply; 21+ messages in thread
From: Led @ 2008-02-19  0:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Tuesday, 19 February 2008 02:18:11 Kirill Maslinsky написав:
> On Tue, Feb 19, 2008 at 03:06:28AM +0300, Dmitry V. Levin wrote:
> > On Tue, Feb 19, 2008 at 01:45:34AM +0200, Led wrote:
> > > > Это не оно?
> > > >
> > > > The user can find the value of PAGE_SIZE by calling getpagesize()
> > > > defined in unistd.h .
> > >
> > > Хотя, наверное, всё же:
> > >
> > > -asm/page.h
> > > +sys/user.h
> >
> > Какой-то сомнительный файл.  Лучше sysconf(_SC_PAGESIZE).
>
> Вот так?
>
> --- 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"
>
> @@ -438,8 +437,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 > sysconf(_SC_PAGESIZE))
> +                       bulk.len = sysconf(_SC_PAGESIZE);
>
>                 bulk.timeout = timeout;
>                 bulk.data    = buf;

Зачем дважды вызывать? ИМХО лучше завести переменную page_size.


-- 
Led


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  0:23               ` Led
@ 2008-02-19  0:40                 ` Kirill Maslinsky
  2008-02-19  0:55                   ` Led
                                     ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Kirill Maslinsky @ 2008-02-19  0:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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) вообще не знаю, 
опасаюсь напортачить. 


-- 
Kirill Maslinsky
ALT Linux Team


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  0:40                 ` Kirill Maslinsky
@ 2008-02-19  0:55                   ` Led
  2008-02-19  1:49                   ` Dmitry V. Levin
  2008-02-19  9:43                   ` Slava Semushin
  2 siblings, 0 replies; 21+ messages in thread
From: Led @ 2008-02-19  0:55 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Tuesday, 19 February 2008 02:40:41 Kirill Maslinsky написав:
> 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;

Похоже на правду.

-- 
Led


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  0:18             ` Kirill Maslinsky
  2008-02-19  0:23               ` Led
@ 2008-02-19  1:48               ` Dmitry V. Levin
  2008-02-19 15:03                 ` Led
  1 sibling, 1 reply; 21+ messages in thread
From: Dmitry V. Levin @ 2008-02-19  1:48 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 436 bytes --]

On Tue, Feb 19, 2008 at 03:18:11AM +0300, Kirill Maslinsky wrote:
> И если можно ещё уточнить, что в этом случае писать апстриму?

Что использовать PAGE_SIZE нехорошо, ибо плохо переносится между разными
версиями ядра и дистрибутивами, и вообще эта константа может отличаться от
реального значения размера страницы в загруженном ядре, которое возвращает
sysconf(_SC_PAGESIZE).

Про getpagesize(2) см. её manpage.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  0:40                 ` Kirill Maslinsky
  2008-02-19  0:55                   ` Led
@ 2008-02-19  1:49                   ` Dmitry V. Levin
  2008-02-19 12:42                     ` Kirill A. Shutemov
  2008-02-20  4:54                     ` Ildar Mulyukov
  2008-02-19  9:43                   ` Slava Semushin
  2 siblings, 2 replies; 21+ messages in thread
From: Dmitry V. Levin @ 2008-02-19  1:49 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1613 bytes --]

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.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  0:40                 ` Kirill Maslinsky
  2008-02-19  0:55                   ` Led
  2008-02-19  1:49                   ` Dmitry V. Levin
@ 2008-02-19  9:43                   ` Slava Semushin
  2 siblings, 0 replies; 21+ messages in thread
From: Slava Semushin @ 2008-02-19  9:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions

19.02.08, Kirill Maslinsky<kirill / altlinux.org> написал(а):
[...]
> Логично. Вот так будет корректно?

Согласно man sysconf(3) ф-ция возвращает тип long, а не int. Ну и
проверьте, что хедер unistd.h подключается.

[...]
> +       int page_size = sysconf(_SC_PAGESIZE);
[...]
> Вы меня простите за тупые вопросы, я просто этого языка (C) вообще не знаю,
> опасаюсь напортачить.

И правильно. Лучше спросить, чем сделать неправильно.


-- 
+ Slava Semushin | slava.semushin @ gmail.com
+ ALT Linux Team | php-coder @ altlinux.ru

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  0:11           ` Kirill Maslinsky
  2008-02-19  0:22             ` Led
@ 2008-02-19 12:35             ` Kirill A. Shutemov
  1 sibling, 0 replies; 21+ messages in thread
From: Kirill A. Shutemov @ 2008-02-19 12:35 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 463 bytes --]

On [Tue, 19.02.2008 03:11], Kirill Maslinsky wrote:
> Если можно также попросить помочь кратко сформулировать для апстрима
> необходимость изменения.

В ядрах >= 2.6.25 asm/page.h не экспортируется в userspace.

-- 
Regards,  Kirill A. Shutemov
 + Belarus, Minsk
 + Velesys Ltd, http://www.velesys.com/
 + ALT Linux Team, http://www.altlinux.com/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  1:49                   ` Dmitry V. Levin
@ 2008-02-19 12:42                     ` Kirill A. Shutemov
  2008-02-19 12:43                       ` Mikhail Gusarov
  2008-02-20  4:54                     ` Ildar Mulyukov
  1 sibling, 1 reply; 21+ messages in thread
From: Kirill A. Shutemov @ 2008-02-19 12:42 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 2244 bytes --]

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/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19 12:42                     ` Kirill A. Shutemov
@ 2008-02-19 12:43                       ` Mikhail Gusarov
  0 siblings, 0 replies; 21+ messages in thread
From: Mikhail Gusarov @ 2008-02-19 12:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 527 bytes --]

Twas brillig at 14:42:40 19.02.2008 UTC+02 when Kirill A. Shutemov did gyre and gimble:

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

If name is invalid, -1 is returned, and errno is set to EINVAL.
Otherwise, the value returned is the value of the system resource and
errno is not changed.

Вряд ли передаваемая константа внезапно перестанет быть валидной ;)

-- 

[-- Attachment #2: Type: application/pgp-signature, Size: 188 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  1:48               ` Dmitry V. Levin
@ 2008-02-19 15:03                 ` Led
  0 siblings, 0 replies; 21+ messages in thread
From: Led @ 2008-02-19 15:03 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Tuesday, 19 February 2008 03:48:20 Dmitry V. Levin написав:
> On Tue, Feb 19, 2008 at 03:18:11AM +0300, Kirill Maslinsky wrote:
> > И если можно ещё уточнить, что в этом случае писать апстриму?
>
> Что использовать PAGE_SIZE нехорошо, ибо плохо переносится между разными
> версиями ядра и дистрибутивами, и вообще эта константа может отличаться от
> реального значения размера страницы в загруженном ядре, которое возвращает
> sysconf(_SC_PAGESIZE).
>
> Про getpagesize(2) см. её manpage.

Потому что не-POSIX?

Да вижу:

POSIX.1-2001 it has been;  ...  Portable applications should employ 
sysconf(_SC_PAGESIZE) instead of this call.

Спасибо.

-- 
Led

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-19  1:49                   ` Dmitry V. Levin
  2008-02-19 12:42                     ` Kirill A. Shutemov
@ 2008-02-20  4:54                     ` Ildar Mulyukov
  2008-02-20 14:33                       ` Kirill Maslinsky
  1 sibling, 1 reply; 21+ messages in thread
From: Ildar Mulyukov @ 2008-02-20  4:54 UTC (permalink / raw)
  To: devel

On 19.02.2008 07:49:45, Dmitry V. Levin wrote:
> Код синтаксически корректный, но upstream может захотеть  
> соптимизировать количество вызовов sysconf.

FYI по моим данным, апстрим как минимум слабо вменяемый.

С уважением, Ильдар
-- 
Ildar  Mulyukov,  free SW designer/programmer/packager
=========================================
email: ildar@altlinux.ru
Jabber: ildar@jabber.ru
ICQ: 4334029
ALT Linux Sisyphus http://www.sisyphus.ru
=========================================


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [devel] asm/page.h
  2008-02-20  4:54                     ` Ildar Mulyukov
@ 2008-02-20 14:33                       ` Kirill Maslinsky
  0 siblings, 0 replies; 21+ messages in thread
From: Kirill Maslinsky @ 2008-02-20 14:33 UTC (permalink / raw)
  To: devel

On Wed, Feb 20, 2008 at 10:54:21AM +0600, Ildar Mulyukov wrote:
> On 19.02.2008 07:49:45, Dmitry V. Levin wrote:
> > Код синтаксически корректный, но upstream может захотеть  
> > соптимизировать количество вызовов sysconf.
> 
> FYI по моим данным, апстрим как минимум слабо вменяемый.
Я тоже слабо вменяемый, соптимизировать не сумел :)

-- 
Kirill Maslinsky
ALT Linux Team


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2008-02-20 14:33 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-18 21:09 ` [devel] xawtv4-4.0-alt3.cvs20070625.2: i586 rebuild failed Hihin Ruslan
2008-02-18 21:40   ` [devel] asm/page.h Dmitry V. Levin
2008-02-18 22:38     ` Kirill Maslinsky
2008-02-18 23:42       ` Led
2008-02-18 23:45         ` Led
2008-02-19  0:06           ` Dmitry V. Levin
2008-02-19  0:18             ` Kirill Maslinsky
2008-02-19  0:23               ` Led
2008-02-19  0:40                 ` Kirill Maslinsky
2008-02-19  0:55                   ` Led
2008-02-19  1:49                   ` Dmitry V. Levin
2008-02-19 12:42                     ` Kirill A. Shutemov
2008-02-19 12:43                       ` Mikhail Gusarov
2008-02-20  4:54                     ` Ildar Mulyukov
2008-02-20 14:33                       ` Kirill Maslinsky
2008-02-19  9:43                   ` Slava Semushin
2008-02-19  1:48               ` Dmitry V. Levin
2008-02-19 15:03                 ` Led
2008-02-19  0:11           ` Kirill Maslinsky
2008-02-19  0:22             ` Led
2008-02-19 12:35             ` Kirill A. Shutemov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git