* 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